我有两个Gradle项目,目录结构如下:
/baseDir
/first
/first/build.gradle
/second
/second/build.gradle
/second/settings.gradle
字符串
settings.gradle看起来像这样:
includeFlat "first"
型
当我执行gradle build
时,第二个项目在第一个(主)项目之后编译。我在第一个项目的build.gradle中尝试:
dependencies {
compile project(':first')
}
型
当执行gradle build
时,我得到一个错误,即在第一个项目中声明的依赖项在第二个项目中找不到。
当我在第二个项目上执行gradle build
时,我希望第一个项目将首先构建,而first.jar
将作为第二个项目中的依赖项。
我该怎么做
编辑:当我在第二个项目的settings.gradle中设置以下内容时:
includeFlat "first", "second"
型
然后我在执行graddle clean
时得到以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
Could not select the default project for this build. Multiple projects in this build have project directory '/Users/mg/Documents/Grails/GGTS3.6.3-SR1/second': [:, :second]
> Multiple projects in this build have project directory '/Users/mg/Documents/Grails/GGTS3.6.3-SR1/second': [:, :second]
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
型
编辑:我创建了一个示例项目表单演示:https://github.com/confile/Gradle-MultiProject-Test
3条答案
按热度按时间nc1teljy1#
您可以让构建任务依赖于另一个项目的构建任务:
字符串
试试这个项目设置:
型
然后把它放在settings.gradle你的根:
型
j2cgzkjk2#
你应该把木块移开
字符串
到第二个项目的build.gradle。这将构建第一个项目,然后第二个项目和第二个项目可以使用第一个项目的类。
gdx19jrr3#
字符串