首页 > 解决方案 > Java 10:替换 java.xml.ws 冲突

问题描述

我必须java.xml.ws*在我的项目中使用组件,但因为它已被弃用并且很快将被删除,我想使用这些组件的替换。所以我将此依赖项添加到我的项目pom文件中:

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-ri</artifactId>
    <version>2.3.0</version>
    <type>pom</type>
</dependency>

这是我的模块配置:

module x.y.z {
    requires kotlin.stdlib;
    requires spring.boot;
    requires spring.boot.autoconfigure;
    requires spring.context;
    requires cxf.core;
    requires cxf.rt.frontend.jaxws;
    requires java.xml.ws;
}

但是有一个错误:

在此处输入图像描述

这是什么意思以及如何解决它,以便我可以使用上面的依赖项而不是java.xml.wsjdk?

标签: javajava-modulejava-10

解决方案


只需使用 Java 11 :) 那里没有javax.xml.ws模块,所以没有冲突。

至于 Java 10,最简单的解决方法是将范围更改jaxws-riruntime

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-ri</artifactId>
    <version>2.3.0</version>
    <scope>runtime</scope>
</dependency>

推荐阅读