【问题标题】:Java .jar file will run in the command line, but not when being clickedJava .jar 文件将在命令行中运行,但在单击时不会
【发布时间】:2012-04-30 12:04:44
【问题描述】:

我知道之前已经讨论过执行 .jar 文件的问题(因为我在发布之前已经阅读并搜索了几个线程),但这个问题有点有点不同。我的 .jar 在被击中时会运行,

java -jre [Jar Name].jar

但是当我点击它时它不会运行。

好的,所以我目前在 JDK 1.6.0_30 上运行。输入,

java -version

进入 cmd 提供了这么多,所有有问题的代码都是在该 JDK 下编译的。此外,在我的环境变量中,“路径”指向

C:\Program Files\Java\jdk1.6.0_30\\bin; 

所以这也很好。

认为这是我的计算机识别 .jar 文件的方式有问题,我输入了,

ftype|find "jarfile"

但这似乎也很好,因为它解决了,

"C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %*

我相信这是它应该做的。

除非用户输入它,否则我的代码不会终止,所以我知道问题不在于我的代码正在运行,然后在完成后关闭命令行。它根本不会打开 cmd 或错误。我在这里忽略了 .jar 文件和 Java 的其他什么问题?

【问题讨论】:

  • 好吧,看起来 Windows 文件关联正在使用 JRE,而命令行 java 命令正在使用 JDK。这可能是问题所在?
  • 你在创建jar时指定了你的主类吗?见link
  • 您的 Jar 清单文件中有 MainClass 值吗?当您使用 javaw.exe 从命令行运行它时会发生什么?这是有效的命令还是只是普通的 java.exe?
  • 是的,指定了主类。毕竟它在命令行中运行,而不是在单击时运行。另外,真实性,你到底是什么意思?我应该让 Path 指向 jre,还是我弄错了?
  • 致洛根;实际上,当我使用 javaw -jar [Jar Name].jar 运行它时,也没有任何反应。所以它看起来只是普通的 java.exe

标签: java cmd executable-jar


【解决方案1】:

根据我的经验,当我在 Windows 7 中双击它们时,我强制运行 .jar 文件:

  1. 右键单击 .jar 文件,选择“打开方式”上下文菜单选项
  2. 浏览并选择 java.exe 作为打开 .jar 文件的进程
  3. 选中“始终使用所选程序打开此类文件”选项,以便以后在我双击 .jar 文件时执行该文件。

同样,我已经完成了相同的过程,但我选择使用 Zip 实用程序(例如 7-Zip)打开 .jar 文件,以便将我的 .jar 文件视为 .zip 文件,因为 99% 我我想检查它的内容而不是运行它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多