使用单个JRE在网络上运行Java App

时间:2015-08-31 15:47:36

标签: java

我有一个java应用程序,我需要通过50多台计算机的本地网络进行分发。 我使用一些第三方库和API创建了应用程序,我将其直接复制到开发机器上的类路径中。

现在我需要通过网络将应用程序以及JRE与自定义API一起分发。必须在所有系统中复制和粘贴应用程序是一项非常庞大的工作,更多地讨论必须安装JRE,然后将所有第三方API复制到ext目录。

有没有办法在服务器系统上安装一个JRE,然后其他系统可以使用相同的JRE运行java应用程序。如果没有,解决问题的最佳和有效方法是什么。

2 个答案:

答案 0 :(得分:0)

JRE是运行Java代码的操作系统进程(java.exe),因此JRE必须在每台服务器上运行。但是,您不必安装 JRE。您可以从网络共享运行JRE。您的Jar文件也是如此。

请参阅此消息主题:Running Java from a shared folder

答案 1 :(得分:0)

我不确定你在这里有最好的设计方法。

中央JRE的想法是将所有库都集中到一个中心位置,这不是java应该如何工作的。我不会这样做。只需在每台机器上安装一个JRE,这就是java - 写一次并在每台机器上使用。

至于你的LIB依赖关系,如果你使用eclipse,你可以导出一个可运行的jar文件,它可以将lib嵌入到你的jar文件中(检查每个lib的许可证以确保允许这样做)。这会将所有的lib复制到你的jar文件中,这样它就可以在没有任何配置的情况下在每台机器上启动。

另一个选择是你可以在启动jar文件时添加一个类路径命令(包含相对目录)

java -cp 'MyProgram.jar:libs/*' main.Main

如果无法在每台机器上安装,请查看Launch4j。这可以将JRE与您的应用程序打包在一起。

http://launch4j.sourceforge.net/