杰克逊

时间:2016-11-08 06:39:13

标签: 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这导致上述错误。

我以为我正在正确设置类路径,但它仍无法正常工作。缺少什么?

1 个答案:

答案 0 :(得分:5)

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

像这样:

$ java -cp ../libs/* ExtractCustomerIds