2016-10-11 119 views
0

我知道,使用傳統的「gradle build」命令,我可以創建Spring引導所稱的「可執行jar」。如何使用gradle創建一個可執行的uber jar用於spring引導?

這個jar包含jar lib文件夾內所需的所有jar依賴項。

我需要的是,而不是複製可執行jar內的lib文件夾內的依賴jar,我想要一個完整的uber jar,而不是將它的依賴項作爲lib文件夾內的jar包,我需要它們提取作爲包/類。

我已經試過陰影插件無濟於事,而且我看不出如何創建一個超級jar,實際上大多數Spring用戶和文檔都傾向於將uber jar這個詞與可執行jar混合在一起,所以很難得到開發人員要了解它們是不同的打包策略,即使運行java -jar命令時結果趨於以相同方式運行。

+1

我很好奇你爲什麼要這樣做? – luboskrnac

+0

我在Spring中使用了一些OSGi的東西,而且由於DM被殺死,Spring不再支持OSGi的支持,所以使用它的唯一方法是分解jar並將其用於聲明的bundle。另外,我知道如何使用Maven擴展罐子,但我從來沒有用Gradle做過這件事,即使使用陰影插件,我也無法使它工作。 –

回答

1

查看shadow gradle插件,它做你想做的事

+0

嗨蘭斯,就像我剛纔提到的那樣,我已經嘗試過使用陰影插件,但不工作,也許有什麼特殊的我需要添加,所以它可以正常工作,但我不知道是什麼。 目前陰影插件只擴展核心彈簧引導罐,但在lib文件夾中留下其他罐子,我不知道爲什麼。 你有沒有任何工作的例子可以使它工作? –

相關問題