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