使用Gradle和Spring Boot Gradle插件时,如何从其他模块复制spring boot重新包装的jar?

时间:2018-03-07 15:21:16

标签: spring-boot gradle spring-boot-gradle-plugin

我有一个多模块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。

1 个答案:

答案 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