繁体   English   中英

使jar文件可在其他计算机上运行?

[英]Making a jar file runnable on other machines?

我创建了执行一些文件操作的jar文件,我需要将其分发给网络上的几个人。 不过令我惊讶的是,该罐子无法在其机器上运行! 有人告诉我,另一项工作可以通过安装Java开发人员工具包来使其运行,但是如果我需要分发给多个人,这不是最好的方法。

我在这里有哪些选择,什么是“最佳实践”解决方案? 我宁愿不安装JDK(我想我在这里只需要JRE,但尚未测试),我是否能够将jar重写为applet,使其可以在浏览器中运行? 还是我应该弹出一个指向最新JRE版本的链接,并要求他们下载它?

编辑:我通过eclipse(Export> Runnable Jar)创建了jar,它产生了我可以运行的runnable jar。 当移动到另一台计算机时,Windows不知道用什么来打开文件。 似乎我需要JRE(我们在计算机上安装的Java只是浏览器插件,而不是我找到的JRE。)我想知道是否有办法在我端进行更多的工作以防止这种情况发生,最终用途将使其更简单(建议使用Launch4j,这是我要采用的方法,或者只是手动安装。)我在Java中使用了几个类,但它们是纯编码,从未涉及过应如何“分发” jar。 。

Java程序需要JRE才能运行。 可运行的罐子和小程序都是如此。

您可以使用jnlp为您自动下载JRE,但是由于applet和Webstart几乎已被弃用,所以这可能不是解决之道。

您可以告诉用户在运行程序之前,他们需要在计算机上安装JRE。 这是很合理的,因为大多数人都拥有JRE,但是如果您的用户使用的是JRE的较旧版本,而您要编译较新的版本,则可能会变得复杂。

您还可以使用JWrapperLaunch4J之类的程序将JRE捆绑到程序中。 这将确保您的程序可以在任何客户端计算机上运行,​​但这意味着您必须为每个操作系统创建单独的版本,并且下载大小将大大增加,因为您必须在项目中包含JRE。

不幸的是,没有任何真正的最佳实践可以为您提供帮助。 以我的经验,大多数较小的项目仅需要安装JRE,而大多数大型项目(例如Puppy Games的游戏)将JRE捆绑在程序本身中。 完全取决于您。

可能您正在寻找这样的东西:

http://launch4j.sourceforge.net/

但我不认为这是最佳做法

您可以随时编写网络应用-每个人都有一个浏览器

如果要运行Java代码,则需要jdk / jre-您可以提供一个包含jar和jre的zip文件,作为“安装”应用程序的笨拙方法

jnlp或webstart可以帮助客户端加载正确版本的jre

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM