我的项目结构是:
--Root project
-- child 1
* build.gradle
* settings.gradle
-- child 2
* build.gradle
* settings.gradle
-- child 3
* build.gradle
* settings.gradle
子级1依赖于子级2的jar文件。以下是我的build.gradle
group = 'com.test.test'
description = """project1"""
dependencies{
compile project(':project2')
}
Settings.gradle
rootProject.name = 'project1'
include ":Project2"
project(":Project2").projectDir = file("../Project2")
有没有可能在gradle中提到项目2应该在project1之前执行,我可以使用像
这样的东西来访问项目2的依赖项compile group: 'com.test.test', name: 'project2', version:'1.0'
注意:我在gradle文件中使用Maven插件。所以我希望项目2的依赖关系将在.m2文件夹中更新,并且可以通过项目1访问
答案 0 :(得分:1)
您的settings.gradle文件必须位于Root文件夹中。它将包括您的3个子项目。
include ":child 1"
include ":child 2"
include ":child 3"
从您的所有子项目中删除所有settings.gradle。您的孩子项目被认为是一个"模块"您的单根"项目"。
新项目结构:
--Root project
* build.gradle
* settings.gradle
-- child 1
* build.gradle
-- child 2
* build.gradle
-- child 3
* build.gradle
然后在您的子项目中,您可以像现在一样指定依赖项
项目孩子1:
dependencies{
compile project(':child 2')
}
它将编译儿童2"首先,然后"孩子1"
根据您为项目配置maven插件的方式,您将能够使用依赖项生成的pom.xml发布工件。