有没有办法将spring-boot应用程序捆绑到一个包含JRE的可执行jar?
我想我看到有人这样做(Josh Long?)导致了一个罐子,你可以通过java -jar foo.jar
开始,甚至用./foo.jar
我在最后一小时用Google搜索了这个,但找不到任何关于此的文档,有人在那里帮助我吗?
编辑:
我刚刚在会议上看到了什么。 spring-boot 1.3引入了一个叫做可执行jar的东西,wrap the jar with a shell script。
启用此选项可以像./my.jar
一样运行jar并将其绑定到unix init系统。
但是,您仍需要在主机上安装Java。
在gradle中启用此功能就像将其添加到build.gradle
一样简单springBoot {
executable = true
}
答案 0 :(得分:2)
你可以使用Maven。这个maven plugin允许您创建包含所有依赖项的单个jar文件。接下来,您可以使用jwrapper等工具,它允许使用嵌入式JRE为许多平台构建可执行文件。
答案 1 :(得分:1)
您应该考虑使用Java安装程序/包装器,它将创建包含您的代码/ jar和JRE的本机二进制文件(某些解决方案甚至可以为您下载JRE) 积极的副作用是您(如果需要)可以为Linux,Windows和Mac创建解决方案。
如果您想坚持使用简单的Linux解决方案,可能需要尝试:Bash script containing binary executable