gpt4 book ai didi

eclipse - 非多项目环境的 Gradle 依赖项

转载 作者:行者123 更新时间:2023-12-03 06:22:22 26 4
gpt4 key购买 nike

经过一些研究,我能够创建一个包含两个项目的非多项目。听起来很奇怪?不是。您不会将所有项目放在一个根项目下是正常的。

阅读了很多关于多项目构建的信息,我想知道为什么将一个项目与另一个不在同一个根项目中的项目一起使用会如此复杂。

到目前为止对我有用的唯一方法是使用 Maven 发布。

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'

group = 'foo'
version = '0.2.1'
repositories {
mavenCentral()
mavenLocal()
}
jar { baseName = "${project.group}.${project.name}" }
publishing {
publications {
maven(MavenPublication) {
artifactId "${project.name}"
artifact sourceJar { classifier "sources" }
from components.java
}
}
}
task sourceJar(type: Jar) { from sourceSets.main.allJava }
task wrapper(type: Wrapper) { gradleVersion = '1.11' }

使用: gradlew clean build publishToMavenLocal在本地 maven 存储库的正确位置创建两个 jar 库(二进制和源) .m2
第二个项目,取决于第一个项目有这个 build.gradle
apply plugin: 'java'
apply plugin: 'eclipse'

group = 'foo2'
version = '0.1'
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile("foo:Gradle.test2:0.+")
}
jar { baseName = "${project.group}.${project.name}" }
task wrapper(type: Wrapper) { gradleVersion = '1.11' }

为我工作。重建依赖项后,我总是拥有最新版本。

现在为什么我在使用 Gradle 时需要 Maven 解决方法?我不能发布到本地 Gradle 缓存吗?有哪些可用的替代方案?

最佳答案

一旦您知道如何在不使用公共(public)根项目的情况下创建项目依赖项就很容易了:

在依赖于第一个项目 (ProjectOne) 的第二个项目 (ProjectTwo) 中,将以下内容放入您的 settings.gradle 文件中:

include ':ProjectOne'
project(':ProjectOne').projectDir = new File(settingsDir, '../ProjectOne')

上面的第二行假设 ProjectOne 与 ProjectTwo 共享相同的父目录,但您可以使用任何相对路径来设置正确的目录位置。现在您可以在 ProjectTwo 的 build.gradle 文件中添加 ProjectOne 作为依赖项:
dependencies {
compile project(':ProjectOne')
}

关于eclipse - 非多项目环境的 Gradle 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22711718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com