2016-10-11 116 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文件夹中留下其他罐子,我不知道为什么。 你有没有任何工作的例子可以使它工作? –

相关问题