有问题的服务器是Windows服务器,我打算在命令行上使用批处理文件运行该程序。但是,服务器没有安装Java,所以有没有办法将JRE(或任何Java需要运行程序)打包到jar文件中?我是否需要在服务器上使用额外的应用程序/程序?
额外信息: 我使用eclipse打包jar文件,有大约3个外部库,并且可以在我的计算机上运行(安装了Java)。
谢谢!
答案 0 :(得分:1)
您可以使用JAR分发JRE,但无法将JRE打包到jar中。您还应该处理一个执行脚本,该脚本将设置适当的环境变量并在此之后启动您的jar。
以下是分发包的可能结构:
-- App folder
|
+-- JRE folder
| |
| +-- bin
| |
| +-- etc..
|-- your jar
|-- execution script (e.g. start.bat)
答案 1 :(得分:0)
如果您使用的是Windows,我过去曾使用launch4j,它就像魅力一样。它允许您将任意数量的jar和dll(如果您使用本机代码)打包成一个可执行文件。
来自他们的文档:
Launch4j是一个用于包装Java应用程序的跨平台工具 在轻量级Windows本机可执行文件中以jar形式分发。该 可执行文件可以配置为搜索某个JRE版本或 使用捆绑的,可以设置运行时选项,如 初始/最大堆大小。包装器还提供更好的用户 通过应用程序图标体验,本机预先JRE启动 屏幕,以及Java下载页面,以防适当的JRE不能 找到。