有没有办法将spring-boot应用程序捆绑到一个包含JRE的可执行jar中?
我想我看到有人这样做(Josh Long?),这导致了一个jar,您可以通过java -jar foo.jar甚至使用./foo.jar来启动
我在过去一个小时内用Google搜索了此内容,但找不到有关此内容的任何文档,有人可以帮助我吗?
编辑:
我刚刚找到了在会议上看到的东西. spring-boot 1.3引入了一个称为可执行jar的东西,即wrap the jar with a shell script.
启用此功能可以像./my.jar一样运行jar并将其绑定到unix初始化系统.
但是,您仍然需要在主机上安装Java.
在gradle中启用此功能就像将其添加到build.gradle一样容易
springBoot {
executable = true
}
解决方法:
您应该考虑使用Java安装程序/包装程序,该程序将创建一个本地二进制文件,其中包含您的代码/ jar和JRE(某些解决方案甚至可以为您下载JRE)
积极的副作用是您(如果需要)可以为Linux,Windows和Mac创建解决方案.
如果您想使用简单的仅Linux解决方案,则可以尝试以下操作:Bash script containing binary executable