簡體   English   中英

NetBeans制作的jar文件無效

[英]NetBeans-made jar file won't work

所以我使用帶有NetBeans的swing GUI制作了這個(非常簡單的)程序,然后我點擊了build來制作一個jar文件。 當我通過雙擊它來運行它時,它告訴我它找不到主類,經過檢查后,我確信它肯定存在。 但是,當我從命令提示符運行它時,它完美地工作。 這種奇怪行為的任何容易確定的原因(如果你想要源代碼,我可以在這里發布)?

NetBeans中似乎需要的東西是:

  • 該項目必須是主項目(通過在項目列表中右鍵單擊它)。
  • 您必須在項目屬性中設置主類。 (右鍵單擊,屬性,運行,主類。)

然后,當您右鍵單擊項目並執行“清理並構建”時,jar將內置到dist子目錄中。

如果這不能解決問題,這里有一個更長的故事......

雙擊jar文件以運行它時,操作系統就像從命令行輸入的那樣:

java -jar filename.jar

(當你說它從命令行為你工作時,這就是你輸入的內容嗎?)

此時,Java可執行文件在名為META-INF/MANIFEST.MF的jar中查找文件。 然后在該文件的內容,它會尋找一個屬性,值Main-Class 最后,它在jar中查找該名稱的類,並運行其靜態main(String[])方法。

因此,如果您的jar無法運行,您可以執行以下操作來調試正在進行的操作:

  • 在NetBeans中清理並重建項目。
  • 仔細檢查你的類實際上是在jar中:
    • 啟動命令提示符
    • cd進入項目的dist子目錄。
    • 使用像jar tf filename.jar這樣的命令來列出那里的內容。
  • 仔細檢查MANIFEST.MF文件是否正確:
    • 再次在命令提示符下
    • cd進入dist目錄。
    • 使用jar xf filename.jar META-INF/MANIFEST.MF類的命令來提取清單。
    • 查看該文件的內容(例如, type META-INF\\MANIFEST.MF )並確保將Main-Class設置為適當的類。

如果以上所有內容都簽出,則雙擊該文件應該可以正常工作。

您是否將包含項目設置為“主項目”?

暫無
暫無

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

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