我可以通过cmd运行.jar文件,但我无法双击它们

时间:2013-08-25 22:16:38

标签: java jar javaw

首先,我正在学习Java,但我仍然很新,所以复杂的代码将会超出我的想象。

当我下载.jar文件说安装mod到Minecraft并双击它时,它不会运行。加载轮持续两秒钟然后停止,没有其他事情发生。我知道的.jar设置正确,因为它使用命令

运行cmd
    cd "wherever the file is"
    java -jar "file name".jar

所以我已经尝试使用java \ jdk1.7.0_25 \ jre \ bin中的默认程序设置为javaw.exe来运行它。没有任何反应。因此文件关联设置在正确的位置。我在这里不知所措。

因为我仍然可以通过cmd运行它们,所以它并没有那么糟糕,但当我到书中关于jar的部分时,我希望能够通过Windows资源管理器GUI运行它,就像一半使用我能看到的.jar文件的好处。

可能是注册表错误吗?我已经看到了很多关于这个问题的问题,但是大多数问题似乎都是设置.jar的问题,我没有这样做,而且我认为不是这样的。

我有Windows Vista 64位。

如果我不够具体,请随意提问。

7 个答案:

答案 0 :(得分:13)

我遇到了同样的问题,结果是注册表中的.jar文件关联被破坏了。以下步骤修复了它:

打开注册表编辑器,然后导航到HKEY_CLASSES_ROOT \ jarfile \ shell \ open \ command。修改Default键的值,如下所示: “[JRE的位置] \ bin \ javaw.exe”-jar“%1”%*
将[JRE的位置]替换为JRE安装的根目录。
例如:
“C:\ Program Files \ Java \ jre7 \ bin \ javaw.exe”-jar“%1”%*
对HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ jarfile \ shell \ open \ command重复上述步骤。

我有一台Windows 7机器,但我认为这也适用于32位环境。

编辑:修复了示例中的路径 - 它应该使用“Program Files”目录而不是“Program Files(x86)”。

答案 1 :(得分:6)

如果您对理解潜在问题不太在意,这可能会有所帮助:

http://johann.loefflmann.net/en/software/jarfix/index.html

- 双击.jar需要在MANIFEST.MF中正确设置Main-Class

答案 2 :(得分:3)

重申 - Meghan的回答解决了我无法在Windows 7中双击启动jar的问题。

  • 打开注册表编辑器

  • 导航至HKEY_CLASSES_ROOT-> jarfile-> shell-> open->命令

  • 修改(默认)为"[Path to working JRE]/bin/javaw.exe" -jar "%1" %*

  • 确保默认情况下[工作JRE的路径] /bin/javaw.exe打开.jar文件

答案 3 :(得分:1)

我也遇到了同样的问题。我试图重新安装我的 JRE,但没有任何反应。我也更改了 "C:\Program Files\Java\jre1.8.0_271\bin\javaw.exe" -jar "%1" %*,但和以前一样。

在第二个实验中,我在我保存的目录中使用 java -jar [myFileName].jar 在 CMD 中运行它并运行。然后我意识到它使用 java.exe 而不是 javaw.exe 工作。因此,我将注册表更改为 "C:\Program Files\Java\jre1.8.0_271\bin\java.exe" -jar "%1" %* 并解决了我的问题。

我希望它也能帮助您解决问题。

答案 4 :(得分:0)

你必须对jar文件进行RightClick并选择open with...然后,Choose default program...(我认为这是西班牙语中“Elegir programa predeterminado”的正确翻译)。在Open with对话框中选择Java(TM) Platform SE binary。如果您没有看到该选项,则应在java安装文件夹中搜索javaw.exe,然后选择它。您还应该检查Use the selected program to open this kind of file

最好的问候。

答案 5 :(得分:-1)

右键单击jar并使用winzip或winrar打开

答案 6 :(得分:-2)

根据Johann Loefflmann的说法,上述问题的根本原因是程序窃取了.jar协会。他是对的!只需按照下面的链接安装一个小文件JARFIX,该关联将被设置回来,您可以双击任何jar文件并在Windows中运行它。它适用于我(我有同样的问题,在此之前我尝试了论坛中提到的所有解决方案并失败了。)

https://johann.loefflmann.net/en/software/jarfix/index.html