解决java.lang.NoClassDefFoundError:javax/xml/bind/JAXBException

l2qq · 2020-11-17 20:10
字数 2188 评论 0 收藏 0 点赞 0

使用新的JDK14.0.2、JDK15突然发现原来可以运行的项目突然不能启动了!

提示:

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.PropertyException

原因:

JAXB API被认为是Java EE API,因此不再包含在Java SE 9中的默认类路径中。在Java 11中,它们完全从JDK中删除。

Java 9引入了模块的概念,默认情况下,java.se聚合模块在类路径(或更确切地说,模块路径)上可用。正如其名称所暗示的,java.se汇聚模块并没有包括那些与Java 6/7/8传统上捆绑了Java EE的API。

幸运的是,JDK 6/7/8中提供的这些Java EE API仍然在JDK中,但它们默认情况下不在类路径上。以下模块中提供了额外的Java EE API:

要在运行时使JAXB API可用,请指定以下命令行选项:

--add-modules java.xml.bind

最新评论 0