【发布时间】:2014-10-09 12:15:50
【问题描述】:
您好,我有自己开发的 java 桌面应用程序,它使用外部 jar 文件。当我在 Windows 上打开它时,它会成功打开,但在 Ubuntu 14.04 上它会失败并出现异常。
窗户:
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 上出现以下错误:
abc@abc-virtual-machine:~/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' 目录中存在的所有 jars。
Java 版本 windows: java版本“1.6.0_27” Java(TM) SE 运行时环境 (build 1.6.0_27-b07) Java HotSpot(TM) Client VM(build 20.2-b06,混合模式,共享)
Java 版本 Ubuntu: java版本“1.7.0_65” OpenJDK 运行环境 (IcedTea 2.5.2) (7u65-2.5.2-3~14.04) OpenJDK Server VM(build 24.65-b04,混合模式)
程序在windows机器上编译,也部署在ubuntu上。
【问题讨论】: