0
我正在開發一個圖書館(fpotencia),我使用的GUI程序(fpotenciaui)。 該庫使用commons math
庫。如何修復Netbeans中的java.lang.NoClassDefFoundError?
當我運行GUI程序我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/math3/complex/Complex
at fpotencia.Circuit.<init>(Circuit.java:101)
at gui.MainGUI.<init>(MainGUI.java:34)
at fpotenciaui.FPotenciaUI.main(FPotenciaUI.java:53)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.complex.Complex
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 3 more
Java Result: 1
我在here閱讀,這是由於在設計時庫的存在,而不是在運行時。
我也讀了here,我需要包括庫commons-logging.jar
從here,我已經完成了庫和UI項目。
我希望能夠包括Netbeans所需的任何內容,因爲當我與其他人共享代碼時,我不希望他們必須執行諸如在路徑中包含庫的操作。我是電氣工程師,而且我覺得必須手工做這樣的事情非常麻煩,除此之外,爲什麼Netbeans如果必須將庫包含在命令行的路徑中呢?
所以我的問題是,爲什麼Netbeans不把這個問題排除出來,如果我明確地將該庫包含在項目中? PS:也許我誤解了這個問題,如果是這樣,我會很感激一些指導來解決這個問題。謝謝。
netbeans無法找到的類是'org/apache/commons/math3/complex/Complex'。這不是一類普通的日誌記錄。這是一類公共數學。所以你需要添加一個項目庫作爲共同數學。 –
是的,我已經添加了它。它不會在構建時,但在運行時抱怨。 –
我假設你建立一個jarfile? jar包含在jar文件中嗎?在jar中的清單文件中應該有對該lib的引用。那裏有參考嗎?你如何開始你的罐子? Java -jar?給我們一些更多的信息:) –
chris