windows下雙擊無法開啟jar檔案的解決方案

來源:互聯網
上載者:User

看此文前請保證jar包中有至少一個Main方法入口,及圖形化的介面。
並保證META-INF/MANIFEST檔案中的Main-Class已經指向之前實現的main方法入口。

最近硬碟壞了,於是重新安裝了OS,發現拷貝後的jdk或jre(未經安裝的版本),不能開啟jar檔案執行(jdk版本1.6_11),
於是在開啟檔案中指向了javaw程式,發現無效,並提示"cannot find main class", 與此同時windows把jar類型的檔案關聯到了指定的javaw程式上,上網找了一通,沒有人提及這個問題的解決辦法,而顯然這個問題又不是由開篇中提到的問題導致的。
於是在註冊表中目前使用者配置中刪除了當前jar類型的定義。但是重新嘗試後依然無效。

於是重新安裝了jdk,發現這次可以開啟jar檔案了,並且這次用來開啟的程式從開啟檔案來看仍然是javaw。比較註冊表中檔案類型的定義,並沒有差別。從檔案夾選項 -> 檔案類型來看終於看到了差別,進階裡面的open操作定義如下:
"C:/Program Files/Java/jre6/bin/javaw.exe" -jar "%1" %*
而如果我們自己選擇javaw,預設的open操作是沒有 -jar參數的,必須手工加進去。
我們知道java啟動jar包的參數是 -jar,但是記得以前javaw是可以直接開啟jar的,不知什麼時候起也需要帶有-jar參數了。

所以對於一個拷貝的綠色jre只要修改一下open操作的定義就可以解決上面的問題了。

解決了上面的問題,又產生了新的問題,之前選擇開啟的javaw程式在開啟檔案中丟不掉了,比較多餘,這個可以在註冊表中修改
在HKEY_CLASSES_ROOT/Applications下面找到響應的程式刪除就可以了,原來每次用一個程式開啟一個類型的檔案windows都會在
註冊表中這個地方留下相關的記錄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.