2012-02-01 2 views
0

Привет, ребята Я пытаюсь понять, почему я запускаю эту ошибку, когда пытаюсь запустить этот API из Shell в моей Linux-системе.Ошибка Java в ОС Linux

[~/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

ответ

3

Вы должны сделать это для того, чтобы включить библиотеку Apache Commons 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

2

Потому что у вас нет зависимостей, указанных в пути к классам (первый из которых является то, что ошибка говорит вам, в apache.commons .cli).

Вам либо нужно указать их в командной строке, либо в манифесте в этой банке.

+0

Как это сделать в командной строке? – Amrit

+1

java -cp http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html –

Смежные вопросы