2012-11-26 129 views
2

每当我尝试双击一个.jar文件时,它会给我一条消息,说它无法找到或加载该文件的主类。但是,如果我尝试这样在命令行打开.jar文件:Java怪异行为。 .jar无法打开

java -jar myfile.jar 

然后,它运行。系统变量或其他什么东西是错的?我在使用java时遇到了很多麻烦,卸载并重新安装它似乎并没有解决问题。

在此先感谢!

附加信息:我在Win7 64位上运行,包含JDK 7 Update 9(64位)和Java 7 Update 9(64位)。它也用来运行.jar文件,只需双击之前,我不知道发生了什么。

+1

当您双击特定系统上的JAR时,会发生什么情况取决于您的特定系统。任何人都可以做的最好的事情是列举出你可以自己去看的方式。 –

+1

你有没有经过这[其他线程]的指示(http://stackoverflow.com/questions/6084984/how-do-i-execute-jar-java-program-on-windows-7-command-line) ? – eis

+0

有没有其他的罐子作为这个程序的一部分运行,还是只有一个罐子? – jtahlborn

回答

-1

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

+0

但是,对于OP而言,**会发生**,而恰恰当您调用'java -jar'时会发生某些事情。 –

+0

它曾经工作过。我如何设置它自动执行命令java -jar x.jar? – MVR

+0

准确的马尔科,这就是让我感到困扰的东西 – MVR

3

检查这两种配置都很到位:

C:\>assoc .jar 
    .jar=jarfile 

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

对于后者指向您的javaw.exe的正确位置。它应该工作。

+0

如果可以,我会+2。我从来没有见过ftype命令。 – David

+0

两者都在工作,除了Program Files(x86)部分实际上只是Program Files,它不是jre6,它是jre7。 – MVR

+0

@理查德,这是特定的环境。这就是为什么我告诉“后者指向正确的位置......”。那么你确定它是它指向的正确位置吗? – eis