使用Light jar打包弹出式应用程序以作为守护程序运行

问题描述:

在Maven构建的Debian jessie上使用Spring-boot 1.5.6和Java 8。使用Light jar打包弹出式应用程序以作为守护程序运行

生成的jar是一个大胖子70Mo的jar,作为守护进程的用法很好。

如何生成一个较轻的jar文件,并将lib文件夹中的jar文件放在某处?

这里当前的pom.xml我使用:为unprecise和不正确的答案

https://gist.github.com/ebuildy/46e42c06d344707c823d0320d78eea1c

道歉: 默认情况下,弹簧启动了Maven插件不兑现“规定”,但包括每个依赖项。

我试过链接的“瘦”扩展名,但那一个不适合我。

回到我原来的帖子,这个想法是正确的: 使用PropertiesLauncher并让它指向你的JAR所在的目录。

  1. 我们需要触发这个启动器。这可以通过使用spring-boot-maven-plugin中的布局类型“DIR”来实现。

  2. 此外,需要提供一个配置文件“loader.properties”,其中包含一个指向包含JAR的目录(或多个目录)的属性。

  3. 如果我们想提供一个不包含任何或只包含一些依赖项的Spring Boot Executable JAR,我们需要排除不需要的依赖项。 存在多种解决方案(使用开箱即用的功能逐个排除它们,在生成它之后修改可执行JAR,增强spring-boot-maven-plugin以按范围过滤)。我选择了最后的解决方案。

查看链接GIST的完整列表。

+0

谢谢你,我已经添加了pom.xml,使用已经提供的范围,但仍然是一个胖罐子,也许我忘了配置? –