java - 抛出异常;嵌套异常是 java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonFactory
问题描述
每次我在安装了GoogleCloudStorage和Spark的情况下运行我的应用程序时都会遇到此异常:
构造函数抛出异常;嵌套异常是 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>
(如果我删除其中任何一个,应用程序运行正常)
我试过了:
- 安装两者的不同版本
- 从 com.fasterxml.jackson.core 中排除 Jackson 并单独安装依赖项
还能是什么?
解决方案
org.codehaus.jackson.JsonFactory
来自旧版本的杰克逊。杰克逊com.fasterxml
现在使用。所以你有一些依赖于旧版本,但同时添加了新版本。您将有 1) 使用某些依赖项需要的旧版本 2) 将依赖项升级到使用较新的 jackson 的较新版本(如果可能),或 3)(高级)通过某种方式隔离您的依赖项(例如,将它们加载到单独的类加载器/Java 9 模块中)。
mvn dependency:tree
将为您提供更多信息,以便您了解有问题的依赖项是什么。
推荐阅读
- python - matplotlib.axes.Axes.legend 不识别 labelcolor 作为参数
- c++ - 如何在 C++ 中声明 Magnitude 类型?
- javascript - Javascript Promise:在 Promise 解决之前返回“正在进行”响应?
- bash - 在 GCP 实例上运行 gcloud 不能通过 ssh 运行,但可以在实例上运行
- python - 无法使用 sqlite3 在磁盘上保存数据库 - Python
- html - 如何在引导轮播上设置数据内部时间和高度?
- java - 返回类型为 int 且与 super() 和没有 super() 关键字一起使用的任何函数的输出有什么区别?
- angular - 使用 ng-content 保留 a11y 焦点功能
- python - 为什么简单的字符串“Guido”是 Python 中的有效语句?
- c - C 预处理器:续行:为什么在反斜杠字符('\')之后不允许完全注释?