当我使用构建一个spring-boot应用程序(到一个独立的jar)时gradle build,会生成适当的工件。生成的jar包含所有相关的jar,并且是可执行的。
gradle build
我还配置了maven-publish插件,如下所示:
publishing { publications { mavenJava(MavenPublication) { from components.java } } }
现在,当我执行时gradle publish,将构建并发布一个没有依赖项的更小的jar。
gradle publish
在后一种情况下,不执行以下步骤。
:myProject:bootRepackage :myProject:assemble
如何确保发布时执行正确的构建步骤?
从发布components.java不会触发Java插件的assemble任务,我感到有些惊讶。Spring Boot的bootRepackage任务被设置为该assemble任务的依赖项,因此您需要使之publish运行assemble。尝试将以下内容添加到您的build.gradle:
components.java
assemble
bootRepackage
publish
build.gradle
publish { dependsOn assemble }