Error updating database. Cause: javax.xml.bind.JAXBException: Implementation of JAXB-API has not be

Error updating database. Cause: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.

1.报错介绍

1.1 我的环境

  • JDK11
  • SpringBoot 2.3.7

1.2 错误发生场景

当我在使用 MyBatis-Plus 进行MySQL相关操作的时候发生了以上的报错,通过观察报错,发现是有关 JAXB 相关的报错

  • JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包 。而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的。
    Error updating database. Cause: javax.xml.bind.JAXBException: Implementation of JAXB-API has not be_第1张图片

因为我一直是使用 JDK11 版本,所以我并不打算降低我的 JDK 版本,所以在 JDK9 之后就需要添加 Maven 相关的依赖,如果不是 Maven 项目就需要添加对应的 JAR 包来解决这个问题了

2.问题解决

2.1 方法一:添加 Maven 依赖(最常用的形式)


 <dependency>
     <groupId>com.sun.xml.bindgroupId>
     <artifactId>jaxb-coreartifactId>
     <version>2.2.11version>
 dependency>
 <dependency>
     <groupId>javax.xml.bindgroupId>
     <artifactId>jaxb-apiartifactId>
 dependency>
 <dependency>
     <groupId>com.sun.xml.bindgroupId>
     <artifactId>jaxb-implartifactId>
     <version>2.2.11version>
 dependency>
 <dependency>
     <groupId>org.glassfish.jaxbgroupId>
     <artifactId>jaxb-runtimeartifactId>
     <version>2.2.10-b140310.1920version>
 dependency>
 <dependency>
     <groupId>javax.activationgroupId>
     <artifactId>activationartifactId>
     <version>1.1.1version>
 dependency>
 

2.2 方法二:添加 JAR 包

  • javax.activation-1.2.0.jar

    • http://search.maven.org/remotecontent?filepath=com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar
  • jaxb-api-2.3.0.jar

    • http://search.maven.org/remotecontent?filepath=javax/xml/bind/jaxb-api/2.3.0/jaxb-api-2.3.0.jar
  • jaxb-core-2.3.0.jar

    • http://search.maven.org/remotecontent?filepath=com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0.jar
  • jaxb-impl-2.3.0.jar

    • http://search.maven.org/remotecontent?filepath=com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0.jar

下载上面这些文件并复制到libs文件夹下, 添加到Build Path中,重新运行即可。

3.进行测试,检查

3.1检查结果,测试成功

Error updating database. Cause: javax.xml.bind.JAXBException: Implementation of JAXB-API has not be_第2张图片

你可能感兴趣的:(开发过程报错集锦,mybatis,spring,boot,mybatis-plus,java,JAXB)