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