Gradle maven-publish不构建独立的spring-boot应用程序

ber*_*tvh 9 gradle maven spring-boot

当我使用Spring构建一个spring-boot应用程序(到一个独立的jar)时gradle build,会生成适当的工件.生成的jar包含所有依赖的jar并且是可执行的.

我还配置了maven-publish插件,如下所示:

publishing {
   publications {
      mavenJava(MavenPublication) {
         from components.java
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我执行时gradle publish,一个没有依赖关系的小得多的jar会被构建并发布.

在后一种情况下不执行以下步骤.

:myProject:bootRepackage                                                                        
:myProject:assemble
Run Code Online (Sandbox Code Playgroud)

如何确保在发布时执行正确的构建步骤?

And*_*son 21

发布时components.java不会触发Java插件的assemble任务,我有点惊讶.Spring Boot的bootRepackage任务被设置为任务的依赖项,assemble因此您需要publish使其运行assemble.尝试将以下内容添加到您的build.gradle:

publish {
    dependsOn assemble
} 
Run Code Online (Sandbox Code Playgroud)