2016-06-27 18 views
1

我避開了一個Grails 3.1.8應用程序並構建了一個可執行的jar文件,它運行良好。現在我想通過使用Gradle maven插件將生成的jar文件上傳到我的maven倉庫。問題就開始了。上傳任務上傳錯誤的JAR文件。爲什麼GRADLE將我的Grails應用程序的錯誤JAR文件上傳到MAVEN存儲庫?

如果我執行「Grails的組裝」兩個文件獲得生產:

100032 mcc-1.0.9.jar 
4880 mcc-1.0.9.jar.original 

正如你所看到的,具有較大尺寸的第一個文件顯然是胖的jar文件,它工作正常。彙編任務完成後,「上傳」任務被執行並上傳較小的文件。我想也定義神器:

artifacts { 
    archives file: file("build/libs/mcc-1.0.9.jar") 
} 

然後脂肪罐子被覆蓋或不產生在所有:

4880 mcc-1.0.9.jar 
4880 mcc-1.0.9.jar.original 

和小罐子被再次上傳。我如何強制gradle使用fat jar文件或者至少只生成正確的文件?

+0

什麼gradle這個任務是你用來發布jar嗎?您需要顯示更多的構建gradle,或者uploadArchives部分或publications部分,具體取決於您使用的發佈插件。 – RaGe

+0

我正在使用maven插件來發布工件。 – hitty5

回答

0

感謝Hubert Klein在本文的評論部分回答了我的問題:https://dzone.com/articles/grails-goodness-creating-a-fully-executable-jar

發生這種情況是因爲uploadArchives任務默認依賴於jar任務。但是然後bootRepackage任務不會被執行,它實際上會用完整的可執行jar文件覆蓋jar文件。 如果您添加到任務uploadArchives依賴於組裝任務bootRepackage任務uploadArchives之前調用你的build.gradle文件:

uploadArchives.dependsOn(assemble) 
0

我有同樣的問題

gradle clean build assemble artifactoryPublish 
相關問題