簡體   English   中英

eclipse導出jar java.lang.NoClassDefFoundError問題

[英]eclipse export jar java.lang.NoClassDefFoundError problem

使用eclipse進行編譯和運行時沒有問題,但是當使用這些設置將其導出為jar時, Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: gnu/io/SerialPortEventListenerException in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: gnu/io/SerialPortEventListener

jar導出器沒有導出我的擴展jar庫?

替代文字替代文字

Exceptions JavaDoc中的這句話有助於理解出了什么問題:

當前正在編譯的類在編譯時就存在搜索到的類定義,但是無法再找到該定義。

您已經在eclipse上構建了應用程序而沒有任何錯誤。 所以 Eclipse的類路徑定義是不夠好,編譯所有類。

現在,您導出,跑出來日食和遇到錯誤。 導出的應用程序不再使用eclipse項目的classpath定義。 當前版本不包括包含gnu.io.SerialPortEventListener的庫。

通用解決方案是:修復導出的jar的類路徑問題。

這可能是一個依賴關系問題,但是請不要混淆ClassNotFoundException和NoClassDefFoundError 基本上,這就是說初始化以下內容時存在問題: gnu/io/SerialPortEventListener作為起點,我將檢查該類是否存在錯誤。

我已經通過使用fatjar解決了

您也可以考慮使用名為WinRun4J的開源工具。

可從http://winrun4j.sourceforge.net/獲得

我發現此方法簡單易用。

暫無
暫無

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

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