首先,我正在学习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位。
如果我不够具体,请随意提问。
答案 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中运行它。它适用于我(我有同样的问题,在此之前我尝试了论坛中提到的所有解决方案并失败了。)