您好我有我自己開發的使用外部jar文件的java桌面應用程序。當我在Windows上打開它時,它會成功打開,但在Ubuntu 14.04上,它會失敗並顯示異常。Java應用程序不能在Ubuntu上打開,但在Windows上打開
的Windows:
java -cp bin;lib\thinlet.jar;lib\xercesImpl.jar;lib\xml-apis.jar;lib\commons-cli-1.0.jar;lib\jsyntaxpane-0.9.5-b29.jar;lib com.macpropeditor.propedit.ApplicationRunner
Ubuntu的:
java -cp bin:lib\thinlet.jar:lib\xercesImpl.jar:lib\xml-apis.jar:lib\commons-cli-1.0.jar:lib\jsyntaxpane-0.9.5-b29.jar:lib com.macpropeditor.propedit.ApplicationRunner
在Ubuntu上我得到如下錯誤:
[email protected]:~/MACPropEditor$ java -cp bin:lib\thinlet.jar:lib\xml-apis.jar:lib\xercesImpl.0.jar:lib\jsyntaxpane-0.9.5-b29.jar:lib com.macpropeditor.propedit.ApplicationRunner
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)
at java.lang.Class.getMethod0(Class.java:2813)
at java.lang.Class.getMethod(Class.java:1663)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
有什麼我需要在Ubuntu的設置?請建議。 「lib」目錄中存在的所有jar。
Java版本窗口: Java版本「1.6.0_27」 的Java(TM)SE運行時環境(建立1.6.0_27-B07) 的HotSpot的Java(TM)客戶端虛擬機(建設20.2 - B06,混合模式,共享)
Java版本的Ubuntu : Java版本「1.7.0_65」 OpenJDK的運行時環境(IcedTea項目2.5.2)(7u65-2.5.2-3〜14.04) OpenJDK的服務器VM (構建24.65-b04,混合模式)
程序是在Windows機器上編譯並在Ubuntu上部署的。
@davamac,我更新了問題的Java版本。 你想讓我在Ubuntu上構建它嗎? – ExploringApple 2014-10-09 12:27:48
不,問題原因是Ubuntu上的Java版本是_older_,但您已經證明它是較新的。我想下一步是驗證在Windows和Ubuntu上列出的jar文件是相同的(請檢查md5sum或類似文件)。然後嘗試查找哪個jar文件實際上包含未找到的類。 – davmac 2014-10-09 12:52:32
謝謝suggetion。但罐子是相同的,因爲我只是將它們從windows複製到Ubuntu。也從commons-cli-1.0.jar - > NoClassDefFoundError:org/apache/commons/cli/ParseException問題的異常看起來像是問題要知道如何去更進一步:-( – ExploringApple 2014-10-10 06:28:49