0

大家好,我想弄清楚为什么当我尝试在我的 linux 系统上从 Shell 运行这个 API 时会出现这个错误。

[~/public_html/test/]# 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.
4

2 回答 2

3

您需要这样做才能在类路径中包含 Apache Commons CLI 库:

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

如果您使用的是 Windows,请在指定类路径时使用分号;而不是冒号。:

于 2012-02-01T06:33:34.560 回答
2

因为您没有在类路径中指定依赖项(第一个正是错误告诉您的,apache.commons.cli 库)。

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

于 2012-02-01T06:25:01.997 回答