8
当我使用gradle build
构建弹簧引导应用程序(对独立jar)时,会生成适当的工件。生成的jar包含所有相关的jar,并且是可执行的。Gradle maven-publish不会构建独立的弹簧引导应用程序
我还配置了Maven的发布插件如下:
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
现在,当我执行gradle publish
,无依赖性更小罐子得到建立和公布。
在后一种情况下不执行以下步骤。
:myProject:bootRepackage
:myProject:assemble
如何确保在发布时执行正确的构建步骤?
原因是Java插件只是将'jar'任务的结果添加到组件集合中。这将是Spring Boot插件的职责,将其修改为重新打包的jar。也就是说,人们可能会争辩说,发布的内容实际上应该只是简单的jar,而重新包装的jar应该可以在独特的分类器下发布。 – 2014-10-06 16:40:01
这是一个很好的建议,谢谢。 Spring Boot并没有将重新打包的jar作为单独的工件来处理,而是将当前jar任务的输出转换为适当的位置。我现在想知道是否应该更改,以便在Gradle构建中引用原始工件和重新打包的工件。我已经打开https://github.com/spring-projects/spring-boot/issues/1666。 – 2014-10-06 16:48:48
在重新包装的jar上分配分类器[已经支持](http://docs.spring.io/spring-boot/docs/1.1.7.RELEASE/reference/htmlsingle/#build-tool-plugins-gradle-repackage -组态)。只需添加'bootRepackage {classifier ='boot'}即可。 – 2014-10-06 16:54:20