我有一个多模块gradle项目,它使用Spring Boot Gradle插件,其中一个模块构建spring boot重新打包jar,另一个模块尝试构建docker容器。
如何从其他模块复制spring boot重新包装的jar?
我试过了:
task copyBootJar(type: Copy, overwrite: true) {
from project(':foo-bar:spring-boot-project').jar
into "${buildDir}/libs"
}
build.dependsOn copyBootJar
但不幸的是,这只复制了原始未包装的jar。
答案 0 :(得分:1)
我遇到的问题是:foo-bar:spring-boot-project'尚未评估。
我在这里找到答案:http://gradle.1045684.n5.nabble.com/Trouble-accessing-sibling-project-configuration-td3384352.html
解决方案是将以下代码添加到build.gradle文件中:
evaluationDependsOn(':foo-bar:spring-boot-project')
这样整个解决方案现在看起来像这样:
evaluationDependsOn(':foo-bar:spring-boot-project')
task copyBootJar(type: Copy, overwrite: true) {
from project(':foo-bar:spring-boot-project').jar
into "${buildDir}/libs"
}
build.dependsOn copyBootJar