Java异常处理: 缺包 ClassNotFound javax/xml/bind/JAXBException
故障原因分析
JAXB API是java EE 的API,在最新版的Java中(Java version1.8以上),不再包含这个 Jar 包。
Java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包
而在 java 6/7/8时关于这个API 都是捆绑在一起的
JavaWeb项目:
在lib文件夹中加入下列包:
- jaxb-api-2.3.0.jar
- jaxb-impl-2.3.0.jar
- jaxb-core-2.3.0.jar
- activation-1.1.1.jar
注意:不同Java版本依赖不同版本的jar包哈
- <!-- Java 6 = JAX-B Version 2.0 -->
- <!-- Java 7 = JAX-B Version 2.2.3 -->
- <!-- Java 8 = JAX-B Version 2.2.8 -->
Maven项目:
在pom文件中导入下列配置
<!-- Java 6 = JAX-B Version 2.0 -->
<!-- Java 7 = JAX-B Version 2.2.3 -->
<!-- Java 8 = JAX-B Version 2.2.8 -->
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>