Java 11 包 javax.xml.soap 不存在
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/54573998/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Java 11 package javax.xml.soap does not exist
提问by Boris
I'm trying to create a simple message using SOAP:
我正在尝试使用SOAP创建一个简单的消息:
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage message = mf.createMessage();
When I build the project with Java 8it's fine, but building it with Java 11fails with a compilation error:
当我使用Java 8构建项目时它很好,但是使用Java 11构建它失败并出现编译错误:
package javax.xml.soap does not exist
How do I fix the issue?
我该如何解决这个问题?
采纳答案by Boris
JAX-WS removed from Java 11
从 Java 11 中删除了 JAX-WS
JAX-WSis no longer bundled with Java 11.
JAX-WS不再与 Java 11 捆绑在一起。
According to the release notes, Java 11 removed the Java EE modules:
根据发行说明,Java 11 删除了 Java EE 模块:
java.xml.ws (JAX-WS, plus the related technologies SAAJ and Web Services Metadata) - REMOVED
- Java 8 - OK
- Java 9 - DEPRECATED
- Java 10 - DEPRECATED
- Java 11 - REMOVED
- Java 8 - 好的
- Java 9 - 已弃用
- Java 10 - 已弃用
- Java 11 - 删除
See JEP 320for more info.
有关更多信息,请参阅JEP 320。
You can fix the issue by using alternate versions of the Java EE technologies. Simply add a com.sun.xml.ws : jaxws-riMaven artifact that contains the technologies you need:
您可以使用 Java EE 技术的替代版本来解决该问题。只需添加一个com.sun.xml.ws : jaxws-riMaven 工件,其中包含您需要的技术:
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
<version>2.3.2</version>
<type>pom</type>
</dependency>
Jakarta EE 8 update (Mar 2020)
Jakarta EE 8 更新(2020 年 3 月)
Instead of using old JAX-WS module you can fix the issue by using Jakarta XML Web Servicesfrom Jakarta EE 8:
相反,使用旧的JAX-WS的模块,您可以通过使用修复问题雅加达XML Web服务从雅加达EE 8:
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>2.3.3</version>
</dependency>