NoClassDefFoundError com/fasterxml/jackson/core/TreeNode -- json schema validation 类未找到错误 com/fasterxml/jackson/core/TreeNode -- JSON模式验证

4

在json-schema-validator 2.1.7 jar中遇到以下异常:

java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/TreeNode
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:466)

我正在使用以下组件:

  • json-schema-validator 2.1.7 jar
  • json-schema-core 1.1.8 jar
  • jackson-coreutils 1..0 jar
  • jackson-databind-2.2.2 jar

下面是代码片段:

            System.out.println(" inside json validation -- 0");
            JsonNode data = JsonLoader.fromString(responseString);
            System.out.println(" inside json validation -- 1");
            JsonNode jsonSchema = JsonLoader.fromResource(schemafilePath);
            System.out.println(" inside json validation -- 2");
            JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
            System.out.println(" inside json validation -- 3");
            JsonSchema schema = factory.getJsonSchema(jsonSchema);
            System.out.println(" inside json validation -- 4");
            ProcessingReport report = schema.validate(data);

我认为你可能有重复的JAR文件? - Makky
你在使用Eclipse吗? - Weibo
不,我没有使用Maven构建,而是将它作为JAR文件添加到库文件夹中。 - user1919581
好的,那么这样有点难以获取所有依赖项 - 但这正是你的问题。找出哪个JAR包含缺失的类并将其添加到lib文件夹中。重复此步骤。 - Anders R. Bystrup
是的,那就是问题所在,现在我已经添加了所有依赖的JAR包... 所有问题都解决了。现在一切都正常工作了。非常感谢。 - user1919581
显示剩余2条评论
2个回答

5

如果我没记错的话,jackson-databind 有一个传递依赖项到 jackson-core,在那里应该有 TreeNode。检查一下你的 .m2 文件夹是否存在:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.2.2</version>
</dependency>

如果出现这种情况,我同意您可能存在类路径问题,比如在类路径中首先使用了之前的版本的jackson-core

祝好!


R.Bystrup:在添加了jackson-core 2.2.2和jackson-annotations 2.2.2之后,这些类找不到的异常问题得到了解决。谢谢。 - user1919581
1
现在出现了“java.lang.NoClassDefFoundError: com/github/fge/Frozen”异常... - user1919581
@user1919581 你好,你是如何解决 "java.lang.NoClassDefFoundError: com/github/fge/Frozen" 异常的问题的? - Shamik
@raynaya,那个异常是因为其中一个依赖的jar不存在...将所有依赖的jar文件放在lib中解决了这个问题... - user1919581

0

[ + ] libs/jackson-core-2.9.9.jar


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接