如何在 Gradle 中创建一个没有 jar 依赖的共享项目
How to create a shared project in Gradle without a jar dependency
我的根项目下有 4 个项目:shared、proj1、proj2 和 proj3。
Proj1、proj2、proj3均使用'shared'项目代码。我试图了解如何将共享项目的源代码包含在其他 3 个项目中的每一个中,这样当我创建项目的档案和 javadoc 以及源 jar 时,它们也将包含共享项目内容。
确保每个模块(~项目)都有自己的 build.gradle。在其中一个项目的 build.gradle
中
dependencies {
...
compile project('shared')
// If you have a dependency tree between projects
compile project('project2')
...
}
在你的 settings.gradle 中,这是全局的
include 'project1', 'project2', 'project3', 'shared'
// Only if your project is not on on the same path
project(':project2').projectDir = new File('../stuff/project2')
我找到了答案:在 3 个相关项目(proj1、proj2 和 proj3)中,源集应该按以下方式扩展:
sourceSets {
main {
java {
srcDirs(project(':shared').sourceSets.main.java)
}
}
}
这样,当为每个项目使用 Gradle 的内置 'javadoc' 和 sources 任务时,输出 jar 也将包含 'shared' 项目内容(即 .class 文件、文档和 .java 文件)。
我的根项目下有 4 个项目:shared、proj1、proj2 和 proj3。
Proj1、proj2、proj3均使用'shared'项目代码。我试图了解如何将共享项目的源代码包含在其他 3 个项目中的每一个中,这样当我创建项目的档案和 javadoc 以及源 jar 时,它们也将包含共享项目内容。
确保每个模块(~项目)都有自己的 build.gradle。在其中一个项目的 build.gradle
中dependencies {
...
compile project('shared')
// If you have a dependency tree between projects
compile project('project2')
...
}
在你的 settings.gradle 中,这是全局的
include 'project1', 'project2', 'project3', 'shared'
// Only if your project is not on on the same path
project(':project2').projectDir = new File('../stuff/project2')
我找到了答案:在 3 个相关项目(proj1、proj2 和 proj3)中,源集应该按以下方式扩展:
sourceSets {
main {
java {
srcDirs(project(':shared').sourceSets.main.java)
}
}
}
这样,当为每个项目使用 Gradle 的内置 'javadoc' 和 sources 任务时,输出 jar 也将包含 'shared' 项目内容(即 .class 文件、文档和 .java 文件)。