有一个jar可执行文件(与外部库一起打包),我如何在没有Java / JRE

时间:2017-07-28 18:19:08

标签: java eclipse server executable-jar

有问题的服务器是Windows服务器,我打算在命令行上使用批处理文件运行该程序。但是,服务器没有安装Java,所以有没有办法将JRE(或任何Java需要运行程序)打包到jar文件中?我是否需要在服务器上使用额外的应用程序/程序?

额外信息: 我使用eclipse打包jar文件,有大约3个外部库,并且可以在我的计算机上运行(安装了Java)。

谢谢!

2 个答案:

答案 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不能   找到。