您好我是Gradle的新手,这对我来说有点困惑。如何在gradle配置中添加依赖项以访问 projectA1 中的 B1.java ?项目B是gradle项目,项目A只是一个包含另一个gradle项目的文件夹。
这是我的结构:
我试图阅读gradle文档,但对我来说并不清楚。任何帮助赞赏。谢谢!
答案 0 :(得分:4)
你应该有这样的结构:
ProjectA
|--projectA1
|----build.gradle
|--projectA2
|----build.gradle
|--settings.gradle
|--build.gradle
ProjectB
|--projectB1
|----build.gradle
|--projectB2
|----build.gradle
|--settings.gradle
|--build.gradle
您可以链接项目中的外部模块。
1)在您的项目中projectA/settings.gradle
include ':projectA1',':projectA2',':projectB1'
project(':projectB1').projectDir = new File("/workspace/projectB/projectB1")
2)在build.gradle
模块的projectA1
中添加依赖项
dependencies {
compile project(':projectB1')
}
答案 1 :(得分:3)
除非项目A1和B1存在于同一个源存储库中并且签出并一起签入,否则您实际上应该依赖项目B1作为外部依赖项。
项目A1 build.gradle中的:
dependencies{
compile 'projectB1group:projectB1module:projectB1version'
}
当然,要实现这一点,您必须首先将B1二进制文件发布到可从Project A1访问的存储库。这可以是外部nexus / artifactory类型的maven存储库,但也可以是本地maven .m2缓存,甚至是普通的旧文件系统。对于maven发布,请参阅maven
或' maven-publish`插件。
如果两个项目都存在于同一个源代码库中,则应将ProjectA和ProjectB组织为根"容器"下的子项目。项目。根项目不需要拥有自己的源代码。
了解如何在gradle here中组织多项目构建。
如果根项目的settings.gradle
包含包含项目B1的行,您可以像这样引用根项目下的任何项目:
project(':B1')
所以,在A1的build.gradle中添加B1作为A1的依赖:
compile project('B1')
答案 2 :(得分:0)
root
|-- build.gradle << very simple bulid.grade , no special thing.
|-- setting.gradle <<
rootProject.name = 'root'
file("${rootDir}/ProjectA").eachDirMatch(~/.*/) {
include "ProjectA:${it.name}"
}
file("${rootDir}/ProjectB").eachDirMatch(~/.*/) {
include "ProjectB:${it.name}"
}
build.gradle
在项目中root
|-- ProjectA
|-- projectA1
|-- build.gradle <<
implementation project(':ProjectB:projectB1')
参考:
您可以在春季项目中setting.gradle