Java EE REST+xml支持:缺少javax.xml.bind.JAXBContext



我想创建一个小REST应用程序,用xml响应请求。返回正常字符串的应用程序的基本配置运行良好。

为了增加对xml的支持,我在pom.xml中添加了以下内容:

<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-core</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>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
</dependency>

但是当eclipse中的tomcat服务器加载应用程序时,我仍然有以下错误:

java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext

我的系统配置:

java --version
openjdk 10.0.1 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10)
OpenJDK 64-Bit Server VM (build 10.0.1+10, mixed mode)
eclipse Version: Photon Release (4.8.0)
tomcat 8.5

自Java 9以来,JAXB不再是JDK的一部分。Andy Guibert写的这篇解释和这本迁移指南应该可以帮助您了解情况。

因此"快速而肮脏的解决方案">是将--add-modules java.xml.bind添加到编译过程中。

相关内容

最新更新