Java 让jar文件在其他机器上运行?

Java 让jar文件在其他机器上运行?,java,windows,jar,Java,Windows,Jar,我已经创建了执行一些文件操作的jar文件,我需要将它们分发给网络上的一些人。但令我惊讶的是,这个罐子不能在他们的机器上运行!有人告诉我,另一个工作人员可以通过安装Java开发者工具包来运行它,但是如果我需要分发给多个人,这不是最好的方法 我在这里有哪些选择,哪些是“最佳实践”解决方案?我不想安装JDK(我想我在这里只需要JRE,但还没有测试),我能简单地将jar重写成一个小程序,这样它就可以在浏览器中运行吗?或者我应该弹出一个最新JRE版本的链接,让他们下载吗 编辑:我通过eclipse(导出>

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

我在这里有哪些选择,哪些是“最佳实践”解决方案?我不想安装JDK(我想我在这里只需要JRE,但还没有测试),我能简单地将jar重写成一个小程序,这样它就可以在浏览器中运行吗?或者我应该弹出一个最新JRE版本的链接,让他们下载吗


编辑:我通过eclipse(导出>Runnable jar)创建了jar,它生成了一个我可以运行的Runnable jar。当移动到另一台计算机时,windows不知道用什么打开文件。似乎我需要JRE(我们在机器上安装的java只是浏览器插件,而不是我找到的JRE)。我想知道是否有一种方法可以在我的终端上做更多的工作来防止这种情况发生,以便最终使用更简单(有人建议启动4J,这是我正在使用的,或者只是手动安装)我在java中学习了一些课程,但它们都是纯编码的,从来没有讨论过如何“分发”jar。

也许您正在寻找这样的课程:


但我不认为这是最佳实践

也许你正在寻找这样的东西:


但我不认为这是最佳实践

也许你正在寻找这样的东西:


但我不认为这是最佳实践

也许你正在寻找这样的东西:


但我不认为这是最佳实践

Java程序需要JRE才能运行。可运行的jar和applet也是如此

您可以使用jnlp为您自动下载JRE,但由于applet和webstart几乎已被弃用,因此这可能不是解决问题的方法

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

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


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

Java程序需要JRE才能运行。可运行的jar和applet也是如此

您可以使用jnlp为您自动下载JRE,但由于applet和webstart几乎已被弃用,因此这可能不是解决问题的方法

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

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


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

Java程序需要JRE才能运行。可运行的jar和applet也是如此

您可以使用jnlp为您自动下载JRE,但由于applet和webstart几乎已被弃用,因此这可能不是解决问题的方法

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

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


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

Java程序需要JRE才能运行。可运行的jar和applet也是如此

您可以使用jnlp为您自动下载JRE,但由于applet和webstart几乎已被弃用,因此这可能不是解决问题的方法

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

您还可以使用或之类的东西将JRE与您的程序捆绑在一起。这将保证您的程序可以在任何客户端机器上运行,但这意味着您必须为每个操作系统创建单独的版本,并且下载大小将为b