2013-08-25 56 views
10

首先,我正在学习Java,但我对它仍然很陌生,所以复杂的代码将会超出我的头。我可以通过cmd运行.jar文件,但我不能双击它们

当我下载一个.jar文件来说安装mod到minecraft并双击它时,它不会运行。装载轮持续两秒钟后停止,没有其他事情发生。我所知道的是的.jar建立正确的,因为它贯穿CMD与命令

cd "wherever the file is" 
    java -jar "file name".jar 

所以我已经试图与在java \ jdk1.7.0_25设置为javaw.exe的默认程序运行\ JRE \ bin中。同样没有任何反应。所以文件关联被设置在正确的地方。我在这里不知所措。

这并不是很糟糕,因为我仍然可以通过cmd运行它们,但是当我读到关于jar的书中的部分时,我希望能够通过Windows资源管理器GUI运行它,使用我可以看到的.jar文件的好处。

它可能是注册表错误?我已经看到了很多关于这个问题的具体问题,但是其中大部分问题似乎都是设置.jar时出现的问题,我没有这样做,我认为这不是这种情况。

我有Windows Vista 64位。

如果我不够具体,随时问。

+0

你确定它没有做任何事吗?你期望发生什么?如果你只是在寻找控制台输出,那么当你用'javaw'运行时你就不会看到这个。 – DaoWen

+0

我的世界的锻造模块加载程序安装程序应该弹出一个窗口,显示“你想要在哪里安装FML”,但是它没有。无论发生什么都不会发回我的显示器。它只是表现得像我从未点击过我的鼠标。 – Lightfire228

+0

您是否尝试过从运行'java'的相同方式从命令行运行'javaw'?也许它会吐出一个有用的错误消息,说明它为什么不起作用。 – DaoWen

回答

12

我有同样的问题,事实证明注册表中的.jar文件关联被破坏。以下步骤修复了它:

打开注册表编辑器,并导航到HKEY_CLASSES_ROOT \ jarfile \ shell \ open \ command。修改默认密钥的值如下: “[JRE的位置] \ bin \ javaw.exe”-jar“%1”%*
将[JRE的位置]替换为JRE安装的根目录。
例如:
“C:\ Program Files文件\的Java \ jre7 \ BIN \ javaw.exe的” 罐子 “%1” %*
重复的HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes下上面的步骤\ jar文件\壳\开放\命令。

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

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

+2

此解决方案也适用于“Windows 10 - x64”。谢谢。 –

+0

已经4年了,我不得不说,我从来没有真正尝试过你的解决方案。我没有足够的精力来编辑注册表(这是我们唯一的家庭计算机,而且我很年轻)。大约一年后,我还有自己的笔记本电脑,所以我再也不用担心了。 – Lightfire228

-1

右键单击罐子,打开与WinZip或WinRAR的

+1

我不想解压缩它,我想将它作为JVM运行,或者在JVM中运行,这是正确的术语。 – Lightfire228

6

如果你没有太在意了解潜在的问题,这可能帮助:

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

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

+1

jarfix没有这样做,问题仍然存在,虽然 – Lightfire228

+0

@ Lightfire228:你确定.jar的META-INF \ MANIFEST.MF文件包含如下所示的行吗? 'Main-Class:some.pkg.SomeClass' –

+0

是的,但问题似乎是在GUI或类似的东西,因为我仍然可以在CMD中运行这些。我还没有做出任何这些,他们都是专业制造的.jars。 – Lightfire228

0

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

此致敬意。

+0

在我问这个问题之前,我已经完成了所有这些,即使当我这样做时,它仍然不能运行它。它几乎就像一个cmd窗口弹出报告错误然后关闭,但它的速度太快,我的显示器显示它。这可以propably不会发生,但电脑所做的不是中继回到我的显示器那肯定。 – Lightfire228

3

只是重申 - 梅根的回答修好了我不能够双击在Windows 7

  • 打开注册表编辑器

  • 导航,启动罐子的问题HKEY_CLASSES_ROOT-> jar文件 - >壳 - >开>命令

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

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

+0

Ohhhhhhh!你救了我的夜晚!谢谢 –

-2

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

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

相关问题