在Debian jessie上使用Spring-boot 1.5.6和Java 8,使用Maven构建。
生成的jar是一个胖胖的70Mo jar,用作守护进程可以正常工作。
如何生成一个更轻的jar,在某个lib文件夹中有依赖jar文件?
这是我正在使用的当前pom.xml:
https://gist.github.com/ebuildy/46e42c06d344707c823d0320d78eea1c
答案 0 :(得分:0)
对于不准确和错误答案的抱歉: 默认情况下,spring-boot-maven-plugin不支持“提供”,但包含所有依赖项。
我已尝试过链接的“瘦”扩展,但那个扩展并不适用于我。
回到原来的帖子,这个想法是正确的: 使用PropertiesLauncher,让它指向JAR所在的一些目录。
我们需要触发此启动器。这可以通过使用spring-boot-maven-plugin中的布局类型“DIR”来实现。
此外,还需要提供一个配置文件“loader.properties”,其中包含一个指向保存JAR的目录(或多个目录)的属性。
如果我们想要提供一个不包含任何或仅包含某些依赖项的Spring Boot可执行JAR,我们需要排除不需要的。 存在多个解决方案(使用开箱即用的功能逐个排除它们,在生成后修改可执行JAR,增强spring-boot-maven-plugin以按范围过滤)。我选择了最后一个解决方案。
请参阅链接的GIST以获取完整列表。