在Jackson中找不到Java类

在Jackson中找不到Java类

我是Java的新手,并且有一个程序抛出以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper
    at ExtractCustomerIds.main(ExtractCustomerIds.java:21)
Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.map.ObjectMapper
    at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@9-internal/BuiltinClassLoader.java:366)
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@9-internal/ClassLoaders.java:184)
    at java.lang.ClassLoader.loadClass(java.base@9-internal/ClassLoader.java:419)
    ... 1 more


我知道问题必须出在路径,类路径或jar名称上,但到目前为止我还不清楚。

我的文件夹结构是:

.
 - get_customer_ids
   - ExtractCustomerIds.java
 - libs
   - jackson-all-1.9.11.jar


因此,当我进入get_customer_ids时,请输入以下命令:

get_customer_ids$ javac -cp ../libs/* ExtractCustomerIds.java,这将导致上述错误。

我以为我正确设置了类路径,但是仍然无法正常工作。少了什么东西?

最佳答案

运行程序时会发生异常-您在编译时指定类路径。编译期间设置的类路径不会存储在已编译的类文件等中,您也需要在运行程序时正确指定它!

像这样:

$ java -cp ../libs/* ExtractCustomerIds

关于java - 在Jackson中找不到Java类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40480484/

10-09 09:44