首页 > 解决方案 > 抛出异常;嵌套异常是 java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonFactory

问题描述

每次我在安装了GoogleCloudStorageSpark的情况下运行我的应用程序时都会遇到此异常:

构造函数抛出异常;嵌套异常是 java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonFactory

谷歌云存储

<groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-storage</artifactId>
        <version>1.17.0</version>

阿帕奇星火

<dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId>
            <version>2.4.0</version>
        </dependency>

(如果我删除其中任何一个,应用程序运行正常)

我试过了:

还能是什么?

标签: javaspringapache-sparkkotlingoogle-cloud-storage

解决方案


org.codehaus.jackson.JsonFactory来自旧版本的杰克逊。杰克逊com.fasterxml现在使用。所以你有一些依赖于旧版本,但同时添加了新版本。您将有 1) 使用某些依赖项需要的旧版本 2) 将依赖项升级到使用较新的 jackson 的较新版本(如果可能),或 3)(高级)通过某种方式隔离您的依赖项(例如,将它们加载到单独的类加载器/Java 9 模块中)。

mvn dependency:tree将为您提供更多信息,以便您了解有问题的依赖项是什么。


推荐阅读