簡體   English   中英

Java應用程序將從CMD和Eclipse運行,但不能雙擊

[英]Java application will run from CMD and Eclipse but not double click

我做了一個搜索,我可以看到很多人遇到了和我一樣的問題,但沒有一個解決方案對我有用。

基本上我在Eclipse中有一個來自舊Windows安裝的Java項目。 我已經清理並重建了它,因為起初它不會編譯,但現在我將它導出為Runnable Jar。 但是,我可以讓應用程序出現的唯一方法是在命令提示符下執行java -jar foo.jar ,或者在Eclipse中運行它。 如果我在Windows資源管理器中雙擊JAR,即使我知道Java正確關聯,因為其他Runnable Jars工作,也沒有任何反應。

該項目僅在其構建路徑庫中列出了x86 JRE,並且列出的所有文件似乎都存在。 我正在運行Windows 7 HP。

更新 :對不起,我剛剛發現沒有其他Runnable Jars正在工作。 如果他們用launch4j包裹,他們工作雖然...

編輯 :我從Eclipse導出的Runnable Jars在其他系統上運行正常,並在雙擊時加載

某些注冊表值或文件關聯可能搞砸了。 擦除所有現有的JRE和JDK並重新安裝它們應該可以解決您的問題。


或者,您可以通過在此處手動編輯注冊表值來修復它: HKLM > SOFTWARE > Classes > jarfile > shell > open > command我的值是

鍵入: REG_SZ

數據: "C:\\Program Files\\Java\\jre8\\bin\\javaw.exe" -jar "%1" %*

您當然希望該路徑指向您的javaw.exe,並確保您有其他參數。

我在使用Spring工具套件時也遇到了同樣的問題。

您可以使用以下步驟: -

  • 右鍵單擊項目 - >導出 - > Runnable jar文件 - >(這里,在庫處理中,有三個選項,你必須選擇中間一個,即將所需的包打包到生成的jar中。它也將打包外部依賴項)。

- 在我的情況下,我的runnable jar只在我的環境上執行,即我已經創建了JAR。 最初我選擇了第一個創建JAR的選項,即將所需的庫提取到所需的JAR中。但這不合適。

它可能對你有所幫助。如果我出錯了,請讓我糾正。

由於您可以運行運行命令行的JAR,因此我認為您的問題與雙擊時設置的運行文件的Java版本有關。

要查找從命令行成功運行該文件的版本,並將其設置為默認打開JAR文件:

  1. 打開一個新的命令提示符窗口。
  2. 運行echo %path% 在路徑值中,您應該能夠找到一個指向其中一個已安裝Java版本的bin文件夾的路徑值。 在某處復制此路徑。
  3. 導航到您要運行的JAR文件。 右鍵單擊JAR - >打開 - >選擇默認程序... - >瀏覽...
  4. 瀏覽到您在步驟2中復制的路徑。(最簡單的方法是將其粘貼到地址欄中)
  5. 雙擊javaw.exe。
  6. 單擊確定。

您現在應該能夠運行JAR文件。 如果您的問題仍然存在,請與我們聯系。

我已經制作了一個罐子並將其保存在桌面上。然后,我雙擊罐子,它對我來說很好。

我和我所擁有的東西:在我的主類中,執行一些操作,最后我添加了Thread.sleep(25000); 暫時保持該計划。 每次雙擊導出的jar后,我發現在系統進程樹添加了一個新的javaw.exe進程 我在任務管理器上注意到了它。 各個javaw.exe進程結束后25000ms。 因為我的應用程序沒有結合任何GUI,這就是為什么我沒有看到相應進程的任何GUI更改。 我很自信,如果我的應用程序有一些GUI,我肯定會在每次運行時獲得相應的GUI窗口。

常見錯誤:當我們將項目從Eclipse導出為Runnable JAR文件時,它將使用選定的Eclipse啟動配置和Eclipse特定的啟動包裝器導出。 現在,如果配置不匹配,當您嘗試通過雙擊運行它時,您將無法看到錯誤,如果您從CMD運行它,那么您肯定會得到錯誤日志。

要創建標准可執行JAR文件:要創建標准可執行JAR文件,可以導出為JAR文件並在向導的最后一個屏幕中指定主類

這對我很有用。 我使用了來自不同系統的相同jar並保持不同的位置。

這里真的很傻。

您是否嘗試使用(java.exe或javaw.exe)提升打開.jar的權限?

右鍵單擊程序 - >屬性 - >兼容性選項卡 - >選中底部的“以管理員身份運行此程序”按鈕。

您可能在命令窗口中擁有提升的權限,這可能會讓它運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM