【问题标题】:Distributing .jar files分发 .jar 文件
【发布时间】:2013-04-13 18:38:57
【问题描述】:

我想将 .jar 文件分发给外行观众(所有 Windows 用户)。但是我不能自己运行 jar 文件,除非我使用 "java -jar "C:\..\file.jar" 从 cmd 执行它。

当我双击该文件时,没有任何反应(默认程序是 Java Platform SE Binary)。有人建议this site,但我在Win8下跟不上。

所以我希望用户能够双击 jar 文件并直接启动它,而无需我告诉他们打开命令提示符并输入内容,或者给他们链接。

PS:它是一个非常简单的非 GUI 应用程序。感谢您的宝贵时间。

【问题讨论】:

  • 如果它是一个非 GUI 应用程序,用户将如何与之交互?

标签: jar distribution


【解决方案1】:

我认为最好的办法是创建一个 file.bat 脚本来运行 jar,其中包含以下简单的行:

java -jar file.jar

给用户file.jarfile.bat这两个文件,他们可以双击file.bat来运行它。

理论上,如果 jar 文件中有一个清单 (META-INF/MANIFEST.MF),主类在 Main-Class: 中定义,那么它应该可以通过双击运行。但是,您说该应用程序没有 GUI,在这种情况下它可以正常运行,但您将看不到它。

无论如何,bat 文件应该会有所帮助,在最坏的情况下,用户只需运行该文件,而不必担心输入 java -jar ... 等。

【讨论】:

  • 我对批处理文件不是很熟悉,但是会不会需要在命令中写下文件的全目录?在这种情况下,我将无法知道,因为用户可以将其放在任何地方。
  • 在Windows中,当你双击一个.bat文件时,它会从它所在的目录执行。所以如果jar和bat在同一个目录下,那么你不要'不需要指定绝对路径。试试看!
  • 哦,我明白了,所以当我双击它运行的 jar 文件时,天知道在哪里,但是当我从 cmd 运行它时,它在 cmd 中运行。我刚刚用GUI app又试了一次,直接运行,没有cmd。批处理文件有效。谢谢老兄,我教会了我很多,感激不尽。
  • 不客气!不要忘记点击投票计数器下方的复选标记以标记为“已接受”答案;-)
  • 你明白了。还有一件事,他们(用户)是否需要安装 JDK 或 JRE 或两者兼而有之?
【解决方案2】:

您是如何创建 jar 文件的? Jar 文件内部有一个清单文件,用于指示您的 main 方法的位置。检查这是否正确。

您应该能够通过双击来运行应用程序,但它只能是带有 GUI 的程序或没有直接用户交互的程序。

【讨论】:

  • 我使用 NetBeans 构建了 jar 文件,该应用程序在命令提示符下运行良好。我也用 GUI 应用程序尝试过同样的事情,但它不能通过双击打开。
  • 我重试了 GUI 应用程序,它直接工作了。但是非 GUI 只能从 cmd 工作。我想到了。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-13
  • 2013-11-10
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多