[英]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的较旧版本,而您要编译较新的版本,则可能会变得复杂。
您还可以使用JWrapper或Launch4J之类的程序将JRE捆绑到程序中。 这将确保您的程序可以在任何客户端计算机上运行,但这意味着您必须为每个操作系统创建单独的版本,并且下载大小将大大增加,因为您必须在项目中包含JRE。
不幸的是,没有任何真正的最佳实践可以为您提供帮助。 以我的经验,大多数较小的项目仅需要安装JRE,而大多数大型项目(例如Puppy Games的游戏)将JRE捆绑在程序本身中。 完全取决于您。
您可以随时编写网络应用-每个人都有一个浏览器
如果要运行Java代码,则需要jdk / jre-您可以提供一个包含jar和jre的zip文件,作为“安装”应用程序的笨拙方法
jnlp或webstart可以帮助客户端加载正确版本的jre
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.