从 JDK 8 升级到 JDK 11 所遇到的问题
# 从 JDK 8 升级到 JDK 11 所遇到的问题
对历史项目从 JDK8 迁至 JDK11 遇到了如下的问题,并提供相应的解决方案。
报 java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
错误信息
原因:JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。java 9 中引入了模块的概念,默认情况下,Java SE 中将不再包含 java EE 的 Jar 包,而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的。
解决方案:
添加如下的 jar 包。
<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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
编辑 (opens new window)
上次更新: 2021/07/21, 18:22:30