Max*_*axL 3 java jackson maven spring-boot jackson-databind
当我将我的项目从 SpringBoot 2.2.7 更新到 2.3.0 时,启动时遇到以下错误:
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
Run Code Online (Sandbox Code Playgroud)
更新后,我在 Eclipse 中没有看到任何错误。我指定我不直接在我的 pom.xml 中使用 Jackson,而是只使用它的外部包(来自 mvnrepository.com)。
所以我认为这与 Jackson 从 2.10 到 2.11 的升级有关,并且可能与来自外部包的 Maven 依赖有关(例如 jjwt-jackson 使用 2.9)。
在 pom.xml 中,我看到了这个:
我的解释是否正确?是否有 pom.xml(或其他任何东西)的解决方案来解决此类问题?
看起来您正在混合三种不同的 Jackson 版本:
jackson-databind-2.9.10.3jackson-dataformat-yaml-2.10.1jackson-datatype-jdk8-2.11.0这是行不通的,您必须使用相同的 Jackson 版本。您丢失的特殊问题ToStringSerializerBase来自将 2.9 与 2.10+ 一起使用。
| 归档时间: |
|
| 查看次数: |
3285 次 |
| 最近记录: |