Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
-
Java 9 JDK
-
Unknown
Description
In Java 9 the endorsed directory mechanism to replace API implementations shipped with the JDK will be removed. The JAX-WS API and implementation modules are even deprecated and will most likely be removed with Java 10.
One way for a Java SE based application to migrate to an alternative JAX-WS implementation would be through the replacement mechanism for endorsed directories: A module based on the Java Platform Module System (JPMS, aka Jigsaw).
It would be great for Java SE based applications if CXF could provide a drop-in replacement for the JAX-WS API and implementation (defined in the "java.xml.ws" and the "java.xml.ws.annotation" modules in JDK 9).
To do this, a build could to be set-up creating a modular jar file, or a JMOD file. There are probably many ways how to wrap CXF's libraries into modules or turn them into modules. For the sake of replacing the JDK's JAX-WS implementation, a single module containing the JAX-WS related libraries of the same scope (just for HTTP/HTTPS transport) and simply exposing the JAX-WS API as public API would be sufficient.
Since JDK 9 does not include any JAX-WS related class files by default on the classpath (needs to be manually "unlocked" via command --add modules java.se.ee), alternatively the user guide may include a section what libraries to put on the classpath to get JAX-WS working on Java 9. It looks like the current CXF distribution does not come with the JAX-WS APIs, so with the current CXF packaging it is not clear how to get started with a Java 9 SE application using JAX-WS with CXF. This documentation option may be easier to get done than creating some kind of a module uber-jar/fat-jar containing all JAX-WS related libraries.
Attachments
Issue Links
- is related to
-
CXF-7517 Codegen fails when using JDK9 with maven and cxf-plugin
-
- Closed
-