2013-08-25 86 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

相關問題