2012-02-01 63 views
0

你好伙计们我​​想弄清楚为什么当我试图在我的linux系统上从Shell运行这个API时出现这个错误。在Linux操作系统上的Java错误

[〜/的public_html /测试/]#java -jar jodconverter-cli-2.2.2.jar Amritpal.doc sample.pdf

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/CommandLineParser 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.CommandLineParser 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
Could not find the main class: com.artofsolving.jodconverter.cli.ConvertDocument. Program will exit. 
+0

嗨,它仍然无法通过添加-cp〜/ commons-cli-1.2.jar工作,这对你有好处吗? – why 2013-04-07 12:43:01

回答

3

你需要这样做,以包含在类路径中Apache的百科全书CLI库:

java -cp '.:/path/to/cli.jar' -jar jodconverter-cli-2.2.2.jar x.doc y.pdf 

如果你在Windows上,在指定的类路径中使用分号;代替冒号:的。

+0

嗨,它仍然无法通过添加'-cp〜/ commons-cli -1.2.jar' – why 2013-04-07 12:41:49

2

因为你没有在classpath中指定的依赖关系(第一个是什么错误是告诉你,在apache.commons .cli库)。

您或者需要在命令行或该jar中的清单中指定它们。

+0

我该如何在commandLine中完成它们? – Amrit 2012-02-01 06:34:00

+1

java -cp http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html – 2012-02-01 06:35:25

相关问题