Java11 使用 jaxb 和 jax-ws 的方法

前言

在 java11 发布时,oracle官方就宣布移除了以下两个特性:

    Remove JAXB (Java Architecture for XML Binding) Remove JAX-WS (Java API for XML Web Services)

那么我们如果有些项目是使用 java8 及以前版本开发的 web-service,但又想 migrate 到 java11 怎么办呢?

经过踩了很多坑,终于找到了办法,就是加入java11已经移除的依赖包。

参考如下: gradle 项目

//jaxb
implementation group: javax.xml.bind, name: jaxb-api, version: 2.3.1,
implementation group: org.glassfish.jaxb, name: jaxb-runtime, version: 2.3.1

//jax-ws
implementation group: com.sun.xml.ws, name: rt, version: 2.3.3

maven 项目

//jaxb
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.1</version>
</dependency>

//jax-ws
<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>rt</artifactId>
    <version>2.3.3</version>
</dependency>

参考文档:https://jesperdj.com/2018/09/30/jaxb-on-java-9-10-11-and-beyond/

经验分享 程序员 微信小程序 职场和发展