JAX-WS removed from Java 11
JAX-WS is no longer bundled with Java 11.
According to the release notes, Java 11 removed the Java EE modules:
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
See JEP 320 for more info.
You can fix the issue by using alternate versions of the Java EE technologies. Simply add a com.sun.xml.ws : jaxws-ri Maven artifact that contains the technologies you need:
<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)
Instead of using old JAX-WS module you can fix the issue by using Jakarta XML Web Services from Jakarta EE 8:
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.3</version>
<scope>runtime</scope>
</dependency>
Jakarta EE 9 update (Nov 2020)
Use latest release of Jakarta XML Web Services 3.0:
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>3.0.0</version>
<scope>runtime</scope>
</dependency>
Note: change javax.*
imports to jakarta.*
Jakarta EE 10 update (Jun 2022)
Use latest release of Jakarta XML Web Services 4.0 (requires Java SE 11 or newer):
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>4.0.0</version>
<scope>runtime</scope>
</dependency>
jaxws-ri
dependency includes a lot of jar files, you probably don't need all of them. – Pharmacopoeia