Spring boot JDK11+;spring boot=JAXBEException:在模块路径或类路径上未找到JAXB-API的实现

Spring boot JDK11+;spring boot=JAXBEException:在模块路径或类路径上未找到JAXB-API的实现,spring-boot,Spring Boot,我有一个基于的简单spring项目,用于使用web服务。这个示例似乎针对JDK 8,但我想使用最新的LTS,JDK 11 我修改了pom.xml文件,并添加了一些似乎已从JDK中删除的依赖项,即: org.glassfish.jaxb 并且)关于这个主题,我已经尝试了在那些帖子中可以找到的所有版本的组合,我仍然有相同的错误 我使用的特定JDK+maven版本是: Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019

我有一个基于的简单spring项目,用于使用web服务。这个示例似乎针对JDK 8,但我想使用最新的LTS,JDK 11

我修改了
pom.xml
文件,并添加了一些似乎已从JDK中删除的依赖项,即:


org.glassfish.jaxb
并且)关于这个主题,我已经尝试了在那些帖子中可以找到的所有版本的组合,我仍然有相同的错误

我使用的特定JDK+maven版本是:

Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T16:06:16+01:00)
Maven home: /usr/local/Cellar/maven/3.6.2/libexec
Java version: 11.0.4, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-11.0.4.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
我的测试代码是。

看一看,看看它是否对你有帮助。我们有几个使用Java11和SpringWS的项目,一切都很好。还要确保您的
pom.xml
以Java11为目标:


11
格林威治SR2
关于缺少的类,我们必须添加以下依赖项,而不是其他依赖项:


org.glassfish.jaxb
jaxb运行时
2.3.2

我们必须添加以下依赖项

<dependency>
    <groupId>javax.xml</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.1</version>
</dependency>

javax.xml
jaxb api
2.1
代替:

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0.1</version>
</dependency>

org.glassfish.jaxb
jaxb内核
2.3.0.1

即使在amazone correto上,jdk 11的所有版本都存在问题。我的
pom.xml
在存储库()中,我的目标是jdk 11,并且具有您提到的依赖性。不要使用
maven-jaxb2-plugin
尝试使用回答中提到的
jaxb2-maven-plugin
2.5+。就在3个月前,他们修复了所有关于这些类的Java11问题。您正在使用的插件上一次更新是在2018年5月,很可能无法修复那些Java 11问题。事实证明,我收到的错误来自服务器,服务器没有jaxb依赖关系。@AndréCruz谢谢!我试着运行服务器和客户端,因此遇到了同样的问题。我尝试使用java8运行服务器:./gradlew clean assemble bootRun-Dorg.gradle.java.home=/opt/java/java8,它可以工作!!!你能在你的问题中添加答案吗?这能回答你的问题吗?