Java 11:java.lang.ClassNotFoundException:de.ruedigermoeller.serialization.FSTObjectInput

问题描述

我正在将项目从 Java 8 升级到 11。在 Java 8 中,功能运行良好,但在 Java 11 中,它会出现运行时错误。任何解决方法?是否需要添加任何依赖项?

Java 11 出现以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: de/ruedigermoeller/serialization/FSTObjectInput
    ...
Caused by: java.lang.classNotFoundException: de.ruedigermoeller.serialization.FSTObjectInput
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.classLoader.loadClass(ClassLoader.java:521)
    ... 6 more

解决方法

找到根本原因。所需的依赖项已从 pom.xml 中的一个 jar 文件中排除,这导致了该问题。

<exclusion>
    <groupId>de.ruedigermoeller</groupId>
    <artifactId>fst</artifactId>
</exclusion>