2011-09-06 193 views
6

我剛剛使用jdk7創建了一個jar文件。我試着運行它,但不斷收到錯誤。原來,它指向的是jre6,而不是jdk7中的jre。所以,我用下面的命令來更改它java可以從cmd運行jar,但不能通過雙擊運行

FTYPE jar文件= 「C:\路徑JRE \ BIN \ javaw.exe的」 罐子 「%1」 %*

在那之後,我試圖將翻一番再次點擊我的jar文件,但它彈出一個窗口,要求我選擇一個程序來打開它。當我選擇與上面相同的javaw.exe文件時,它會運行,但會立即退出而不做任何事情。我可以通過執行java -jar file.jar命令以cmd運行它。我甚至嘗試刪除.jar註冊表項,但這讓我回到了要求我選擇要打開的程序的地步。如果有問題,我正在運行Windows 7最終版。

編輯: 在註冊表中有3個子項:OpenWithList,OpenWithProgids和UserChoice。我已將所有默認設置更改爲除UserChoice之外的路徑,該設置不會讓我從註冊表編輯它。當我刪除它並嘗試運行jar文件時,它會打開選​​擇程序以再次打開窗口。由於某種原因,它忽略了其他註冊表項

回答

0

我不確定爲什麼沒有解決方案工作,但我重新安裝了JRE7,現在它的工作。

2

當Windows要求您運行它的程序時,它不會在命令行中插入所需的-jar參數。

如果它要求您輸入exe,那麼這意味着您的JRE.jar擴展名無關。您需要修改.jar文件註冊表項,以使其運行c:\path_to_jre\bin\javaw -jar %1以使其工作。
它曾經在File Explorer > Tools > Folder Options > File Types之下。

然後在那裏尋找.jar。您應該找到顯示要運行的可執行文件和命令行參數的文本字段。這就是你想要修改的。您也可以在註冊表編輯器中執行此操作,但我忘記了HKEY可變路徑。我敢肯定,這KBA將幫助:

support_microsoft_kb_950505

+1

關聯正是jhlu87所顯示的'ftype'命令正在做的事情。 –

0

是不是更容易通過改變CLASSPATH環境變量來改變你的Java版本你R新JDK7?怎麼看here

+0

我的類路徑設置爲正確的路徑 – jhlu87

1

檢查文件類型jarfile實際使用

assoc .jar 

的* .jar擴展名註冊看起來像的.jar不掛jar文件。

+0

是的,我已經做到了。它返回.jar = jarfile – jhlu87

11

好吧,我在其他地方找到了答案,但又遇到了這個問題,所以通過谷歌來到這裏。
解決的辦法是...

  1. 打開了器regedit.exe
  2. 無論是搜索 「jre6」 或遵循此:
    HKLM->SOFTWARE->Classes->jarfile->shell->open->command
  3. 更改數據字段的javaw進程的目錄.exe文件位於您的JDK目錄中。
  4. 對於上帝的愛,別忘了把奇怪的[-jar "%1" %*]零件放在它的末尾。
  5. 享受智取甲骨文。

希望這會爲一些人節省一點時間。

我發生了這種情況,當我安裝Chrome的JRE6插件時,雖然它可能發生在安裝任何其他JRE我猜。

+0

因爲「全局」關聯完全丟失,我試圖用「OpenWith」打開jar文件,因此我的正確密鑰(Win7)是HKEY_CURRENT_USER \ Software \ Classes \ jar_auto_file \ shell \ open \ command。 –

4

我固定它通過進入註冊表編輯器,並尋找其帶來了JRE ...

HKEY_CURRENT_USER /軟件/班/應用/ javaw.exe的/殼/開/命令

我改變了REG_SZ

從: 「C:\ Program Files文件(x86)的\的Java \ jre7 \ BIN \ javaw.exe的」 「%1」

到:「C:\ Program Files文件(x86)的\的Java \ jre7 \ bin \ javaw.exe「-jar」%1「%*

+0

editet所有路徑和幫助 –

相關問題