【问题标题】:Java weird behaviour. .jar can't be openedJava 奇怪的行为。 .jar 无法打开
【发布时间】:2012-11-14 09:43:48
【问题描述】:

每当我尝试双击 .jar 文件时,它都会提示我无法定位或加载文件的主类。但是,如果我尝试像这样在命令行中打开 .jar 文件:

java -jar myfile.jar

然后,它运行。是系统变量有问题还是什么?我在使用 java 时遇到了很多麻烦,并且再次卸载并重新安装它似乎无法解决它。

提前致谢!

额外信息:我在 Win7 64 位上运行,同时带有 JDK 7 Update 9(64 位)和 Java 7 Update 9(64 位)。以前也是双击运行.jar文件,不知道怎么回事。

【问题讨论】:

  • 双击特定系统上的 JAR 会发生什么取决于您的特定系统。任何人都可以做的最好的事情就是列举您自己查找的方法。
  • 你看过这个other thread的说明了吗?
  • 是否还有其他 jar 作为该程序的一部分运行,或者只是一个 jar?
  • @MarkoTopolnik 这不是一个非常有用的答案,但没关系。
  • @eis 谢谢,让我看看

标签: java windows runtime


【解决方案1】:

在Win7中双击jar不会将-jar标志传递给java程序,所以什么都不会发生。

【讨论】:

  • 但是对于 OP,确实会发生某些事情,而当您调用 java -jar 时,就会发生某些事情。
  • 以前可以用。如何将其设置为自动执行命令 java -jar x.jar?
  • 正是 Marko,这就是困扰我的地方
  • 我对“什么都不会发生”有点松懈:它无法运行 jar,这绝对不是什么。 OP 在这里评论说,它曾经可以工作是全新的信息。
  • 是的,我忘记写了。编辑原始帖子。
【解决方案2】:

检查这两个配置是否到位:

C:\>assoc .jar
    .jar=jarfile

C:\>ftype jarfile
     jarfile="C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -jar "%1" %*

后者指向您的 javaw.exe 的正确位置。那么它应该可以工作了。

【讨论】:

  • 如果可以的话,我会 +2。我以前从未见过 ftype 命令。
  • 两者都在工作,除了你的 Program Files (x86) 部分实际上只是 Program Files 而且它不是 jre6,它是 jre7。
  • @Richard 嗯,这是特定于环境的。这就是为什么我告诉“后者指向正确的位置......”。那么你确定它指向的地方是正确的吗?
  • 所以如果你把那个conf的输出,比如"C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1",把你的jar文件放在%1的位置,然后手动运行输出,它可以工作吗?
  • 好的。还有这个other thread 是关于类似问题的,也请检查一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 1970-01-01
  • 2014-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多