Introduction
One of the major features introduced along with Java 9 release is JPMS: Java Platform Module System. As of now, Apache CXF modules are not built / released as Java modules however the work in this direction has been started.
Automatic-Module-Name
Starting from 3.2.5 release, all Apache CXF modules contain the Automatic-Module-Name manifest entry in order to provide stable and convenient way to reference them from the descriptors of the modular (JPMS-based) Java applications. The list of the modules and their Automatic-Module-Name is presented below.
The naming scheme has been adopted following the Stephen Colebourne recommendations (http://blog.joda.org/2017/04/java-se-9-jpms-module-naming.html) and based on package name.
Test Module | Automatic-Module-Name |
---|---|
cxf-distribution-manifest-<version>.jar | org.apache.cxf.manifest |
cxf-bundle-compatible-<version>.jar | org.apache.cxf.bundle |
cxf-codegen-plugin-<version>.jar | org.apache.cxf.plugin.codegen |
cxf-corbatools-maven-plugin-<version>.jar | org.apache.cxf.plugin.corbatools |
cxf-core-<version>.jar | org.apache.cxf.core |
cxf-distribution-javadoc-<version>.jar | org.apache.cxf.javadoc |
cxf-integration-cdi-<version>.jar | org.apache.cxf.cdi |
cxf-integration-jca-<version>.jar | org.apache.cxf.jca |
cxf-integration-tracing-brave-<version>.jar | org.apache.cxf.tracing.brave |
cxf-integration-tracing-htrace-<version>.jar | org.apache.cxf.tracing.htrace |
cxf-integration-tracing-opentracing-<version>.jar | org.apache.cxf.tracing.opentracing |
cxf-java2swagger-plugin-<version>.jar | org.apache.cxf.plugin.java2swagger |
cxf-java2wadl-plugin-<version>.jar | org.apache.cxf.plugin.java2wadl |
cxf-java2ws-plugin-<version>.jar | org.apache.cxf.plugin.java2ws |
cxf-karaf-commands-<version>jar | org.apache.cxf.karaf.commands |
cxf-rt-bindings-coloc-<version>.jar | org.apache.cxf.binding.coloc |
cxf-rt-bindings-corba-<version>.jar | org.apache.cxf.binding.corba |
cxf-rt-bindings-soap-<version>.jar | org.apache.cxf.binding.soap |
cxf-rt-bindings-xml-<version>.jar | org.apache.cxf.binding.xml |
cxf-rt-databinding-aegis-<version>.jar | org.apache.cxf.databinding.aegis |
cxf-rt-databinding-jaxb-<version>.jar | org.apache.cxf.databinding.jaxb |
cxf-rt-features-clustering-<version>.jar | org.apache.cxf.clustering |
cxf-rt-features-logging-<version>.jar | org.apache.cxf.logging |
cxf-rt-features-metrics-<version>.jar | org.apache.cxf.metrics |
cxf-rt-features-throttling-<version>.jar | org.apache.cxf.throttling |
cxf-rt-frontend-jaxrs-<version>.jar | org.apache.cxf.frontend.jaxrs |
cxf-rt-frontend-jaxws-<version>.jar | org.apache.cxf.frontend.jaxws |
cxf-rt-frontend-js-<version>.jar | org.apache.cxf.frontend.js |
cxf-rt-frontend-simple-<version>.jar | org.apache.cxf.frontend.simple |
cxf-rt-javascript-3.2.5-<version>.jar | org.apache.cxf.js |
cxf-rt-javascript-tests-<version>.jar | org.apache.cxf.js.tests |
cxf-rt-management-<version>.jar | org.apache.cxf.management |
cxf-rt-rs-client-<version>.jar | org.apache.cxf.rs.client |
cxf-rt-rs-extension-providers-<version>.jar | org.apache.cxf.rs.provider |
cxf-rt-rs-extension-reactivestreams-<version>.jar | org.apache.cxf.rs.reactivestreams |
cxf-rt-rs-extension-reactor-<version>.jar | org.apache.cxf.rs.reactor |
cxf-rt-rs-extension-rx2-<version>.jar | org.apache.cxf.rs.rx2 |
cxf-rt-rs-extension-rx-<version>.jar | org.apache.cxf.rs.rx |
cxf-rt-rs-extension-search-<version>.jar | org.apache.cxf.rs.search |
cxf-rt-rs-http-sci-<version>.jar | org.apache.cxf.rs.sci |
cxf-rt-rs-json-basic-<version>.jar | org.apache.cxf.rs.json |
cxf-rt-rs-mp-client-<version>.jar | org.apache.cxf.rs.client.mp |
cxf-rt-rs-security-cors-<version>.jar | org.apache.cxf.rs.security.cors |
cxf-rt-rs-security-jose-<version>.jar | org.apache.cxf.rs.security.jose |
cxf-rt-rs-security-jose-jaxrs-<version>.jar | org.apache.cxf.rs.security.jose.jaxrs |
cxf-rt-rs-security-oauth2-<version>.jar | org.apache.cxf.rs.security.oauth2 |
cxf-rt-rs-security-oauth2-saml-<version>.jar | org.apache.cxf.rs.security.oauth2.saml |
cxf-rt-rs-security-oauth-<version>.jar | org.apache.cxf.rs.security.oauth |
cxf-rt-rs-security-sso-oidc-<version>.jar | org.apache.cxf.rs.security.sso.oidc |
cxf-rt-rs-security-sso-saml-<version>.jar | org.apache.cxf.rs.security.sso.saml |
cxf-rt-rs-security-xml-<version>.jar | org.apache.cxf.rs.security.xml |
cxf-rt-rs-service-description-<version>.jar | org.apache.cxf.rs.wadl |
cxf-rt-rs-service-description-openapi-v3-<version>.jar | org.apache.cxf.rs.openapi.v3 |
cxf-rt-rs-service-description-swagger-<version>.jar | org.apache.cxf.rs.swagger |
cxf-rt-rs-service-description-swagger-ui-<version>.jar | org.apache.cxf.rs.swagger.ui |
cxf-rt-rs-sse-<version>.jar | org.apache.cxf.rs.sse |
cxf-rt-security-<version>.jar | org.apache.cxf.security |
cxf-rt-security-saml-<version>.jar | org.apache.cxf.security.saml |
cxf-rt-transports-http-<version>.jar | org.apache.cxf.transport.http |
cxf-rt-transports-http-hc-<version>.jar | org.apache.cxf.transport.http.hc |
cxf-rt-transports-http-jetty-<version>.jar | org.apache.cxf.transport.http.jetty |
cxf-rt-transports-http-netty-client-<version>.jar | org.apache.cxf.transport.http.netty.client |
cxf-rt-transports-http-netty-server-<version>.jar | org.apache.cxf.transport.http.netty.server |
cxf-rt-transports-http-undertow-<version>.jar | org.apache.cxf.transport.http.undertow |
cxf-rt-transports-jms-<version>.jar | org.apache.cxf.transport.jms |
cxf-rt-transports-local-<version>.jar | org.apache.cxf.transport.local |
cxf-rt-transports-udp-<version>.jar | org.apache.cxf.transport.udp |
cxf-rt-transports-websocket-<version>.jar | org.apache.cxf.transport.websocket |
cxf-rt-ws-addr-<version>.jar | org.apache.cxf.ws.addr |
cxf-rt-wsdl-<version>.jar | org.apache.cxf.wsdl |
cxf-rt-ws-eventing-<version>.jar | org.apache.cxf.ws.eventing |
cxf-rt-ws-mex-<version>.jar | org.apache.cxf.ws.mex |
cxf-rt-ws-policy-<version>.jar | org.apache.cxf.ws.policy |
cxf-rt-ws-rm-<version>.jar | org.apache.cxf.ws.rm |
cxf-rt-ws-security-<version>.jar | org.apache.cxf.ws.security |
cxf-rt-ws-transfer-<version>.jar | org.apache.cxf.ws.transfer |
cxf-services-sts-core-<version>.jar | org.apache.cxf.sts.core |
cxf-services-ws-discovery-api-<version>.jar | org.apache.cxf.ws.discovery |
cxf-services-ws-discovery-service-<version>.jar | org.apache.cxf.ws.discovery.service |
cxf-services-wsn-api-<version>.jar | org.apache.cxf.wsn |
cxf-services-wsn-core-<version>.jar | org.apache.cxf.wsn.core |
cxf-services-wsn-osgi-<version>.jar | org.apache.cxf.wsn.osgi |
cxf-services-xkms-client-<version>.jar | org.apache.cxf.xkms.client |
cxf-services-xkms-common-<version>.jar | org.apache.cxf.xkms.common |
cxf-services-xkms-itests-<version>.jar | org.apache.cxf.xkms.itests |
cxf-services-xkms-osgi-<version>.jar | org.apache.cxf.xkms.osgi |
cxf-services-xkms-service-<version>.jar | org.apache.cxf.xkms.service |
cxf-services-xkms-x509-handlers-<version>.jar | org.apache.cxf.xkms.x509.handlers |
cxf-services-xkms-x509-repo-ldap-<version>.jar | org.apache.cxf.xkms.x509.ldap |
cxf-spring-boot-autoconfigure-<version>.jar | org.apache.cxf.spring.boot.autoconfigure |
cxf-spring-boot-starter-jaxrs-<version>.jar | org.apache.cxf.spring.boot.jaxrs |
cxf-spring-boot-starter-jaxws-<version>.jar | org.apache.cxf.spring.boot.jaxws |
cxf-testutils-<version>.jar | org.apache.cxf.testutils |
cxf-tools-common-<version>.jar | org.apache.cxf.tools.common |
cxf-tools-corba-<version>.jar | org.apache.cxf.tools.corba |
cxf-tools-java2ws-<version>.jar | org.apache.cxf.tools.java2ws |
cxf-tools-misctools-<version>.jar | org.apache.cxf.tools.misc |
cxf-tools-validator-<version>.jar | org.apache.cxf.tools.validator |
cxf-tools-wadlto-jaxrs-<version>.jar | org.apache.cxf.tools.wadl |
cxf-tools-wsdlto-core-<version>.jar | org.apache.cxf.tools.wsdl.core |
cxf-tools-wsdlto-databinding-jaxb-<version>.jar | org.apache.cxf.tools.wsdl.jaxb |
cxf-tools-wsdlto-frontend-javascript-<version>.jar | org.apache.cxf.tools.wsdl.js |
cxf-tools-wsdlto-frontend-jaxws-<version>.jar | org.apache.cxf.tools.wsdl.jaxws |
cxf-tools-wsdlto-test-<version>.jar | org.apache.cxf.tools.wsdl.test |
cxf-wadl2java-plugin-<version>.jar | org.apache.cxf.plugin.wadl2java |
cxf-wsdl-validator-plugin-<version>.jar | org.apache.cxf.wsdl.plugin.validator |
Since we publish test artifacts as well, they have been enriched with Automactic-Module-Name manifest entry:
Test Module | Automatic-Module-Name |
---|---|
cxf-services-sts-systests-advanced-<version>.jar | org.apache.cxf.systests.sts.advanced |
cxf-services-sts-systests-basic-<version>.jar | org.apache.cxf.systests.sts.basic |
cxf-services-sts-systests-itests-<version>.jar | org.apache.cxf.systests.sts.integration |
cxf-services-sts-systests-osgi-<version>.jar | org.apache.cxf.systests.sts.osgi |
cxf-systests-cdi-base-<version>.jar | org.apache.cxf.systests.cdi.base |
cxf-systests-cdi-base-<version>-tests.jar | org.apache.cxf.systests.cdi.base.tests |
cxf-systests-cdi-owb-multiple-apps-<version>.jar | org.apache.cxf.systests.cdi.owb.multiapp |
cxf-systests-cdi-owb-multiple-apps-<version>-tests.jar | org.apache.cxf.systests.cdi.owb.multiapp.tests |
cxf-systests-cdi-owb-no-apps-<version>.jar | org.apache.cxf.systests.cdi.owb.noapp |
cxf-systests-cdi-owb-no-apps-<version>-tests.jar | org.apache.cxf.systests.cdi.owb.noapp.tests |
cxf-systests-cdi-owb-producers-<version>.jar | org.apache.cxf.systests.cdi.owb.producers |
cxf-systests-cdi-owb-producers-<version>-tests.jar | org.apache.cxf.systests.cdi.owb.producers.tests |
cxf-systests-cdi-weld-multiple-apps-<version>.jar | org.apache.cxf.systests.cdi.weld.multiapp |
cxf-systests-cdi-weld-multiple-apps-<version>-tests.jar | org.apache.cxf.systests.cdi.weld.multiapp.tests |
cxf-systests-cdi-weld-no-apps-<version>.jar | org.apache.cxf.systests.cdi.weld.noapp |
cxf-systests-cdi-weld-no-apps-<version>-tests.jar | org.apache.cxf.systests.cdi.weld.noapp.tests |
cxf-systests-cdi-weld-producers-<version>.jar | org.apache.cxf.systests.cdi.weld.producers |
cxf-systests-cdi-weld-producers-<version>-tests.jar | org.apache.cxf.systests.cdi.weld.producers.tests |
cxf-systests-ci-grizzly-<version>.jar | org.apache.cxf.systests.ci.grizzly |
cxf-systests-codegen-<version>.jar | org.apache.cxf.systests.plugin.codegen |
cxf-systests-databinding-<version>.jar | org.apache.cxf.systests.databinding |
cxf-systests-databinding-<version>-tests.jar | org.apache.cxf.systests.databinding.tests |
cxf-systests-http-sci-<version>.jar | org.apache.cxf.systests.rs.sci |
cxf-systests-java2ws-<version>.jar | org.apache.cxf.systests.plugin.java2ws |
cxf-systests-http-sci-<version>-tests.jar | org.apache.cxf.systests.rs.sci.tests |
cxf-systests-jaxrs-<version>.jar | org.apache.cxf.systests.jaxrs |
cxf-systests-jaxrs-<version>-tests.jar | org.apache.cxf.systests.jaxrs.tests |
cxf-systests-jaxws-<version>.jar | org.apache.cxf.systests.jaxws |
cxf-systests-jaxws-<version>-tests.jar | org.apache.cxf.systests.jaxws.tests |
cxf-systests-kerberos-<version>.jar | org.apache.cxf.systests.kerberos |
cxf-systests-kerberos-<version>-tests.jar | org.apache.cxf.systests.kerberos.tests |
cxf-systests-ldap-<version>.jar | org.apache.cxf.systests.ldap |
cxf-systests-ldap-<version>-tests.jar | org.apache.cxf.systests.ldap.tests |
cxf-systests-microprofile-weld-<version>.jar | org.apache.cxf.systests.microprofile.weld |
cxf-systests-rs-security-<version>.jar | org.apache.cxf.systests.security |
cxf-systests-rs-security-<version>-tests.jar | org.apache.cxf.systests.security.tests |
cxf-systests-rs-sse-base-<version>.jar | org.apache.cxf.systests.rs.sse.base |
cxf-systests-rs-sse-base-<version>-tests.jar | org.apache.cxf.systests.rs.sse.base.tests |
cxf-systests-rs-sse-jetty-<version>.jar | org.apache.cxf.systests.rs.sse.jetty |
cxf-systests-rs-sse-jetty-<version>-tests.jar | org.apache.cxf.systests.rs.sse.jetty.tests |
cxf-systests-rs-sse-tomcat-<version>.jar | org.apache.cxf.systests.rs.sse.tomcat |
cxf-systests-rs-sse-tomcat-<version>-tests.jar | org.apache.cxf.systests.rs.sse.tomcat.tests |
cxf-systests-rs-sse-undertow-<version>.jar | org.apache.cxf.systests.rs.sse.undertow |
cxf-systests-rs-sse-undertow-<version>-tests.jar | org.apache.cxf.systests.rs.sse.undertow.tests |
cxf-systests-tracing-<version>.jar | org.apache.cxf.systests.tracing |
cxf-systests-tracing-<version>-tests.jar | org.apache.cxf.systests.tracing.tests |
cxf-systests-transport-jms-<version>.jar | org.apache.cxf.systests.transport.jms |
cxf-systests-transport-jms-<version>-tests.jar | org.apache.cxf.systests.transport.jms.tests |
cxf-systests-transports-<version>.jar | org.apache.cxf.systests.transport |
cxf-systests-transports-<version>-tests.jar | org.apache.cxf.systests.transport.tests |
cxf-systests-transports-ssl3-<version>.jar | org.apache.cxf.systests.transport.ssl3 |
cxf-systests-transports-ssl3-<version>-tests.jar | org.apache.cxf.systests.transport.ssl3.tests |
cxf-systests-transport-undertow-<version>.jar | org.apache.cxf.systests.transport.undertow |
cxf-systests-transport-undertow-<version>-tests.jar | org.apache.cxf.systests.transport.undertow.tests |
cxf-systests-uncategorized-<version>.jar | org.apache.cxf.systests.uncategorized |
cxf-systests-uncategorized-<version>-tests.jar | org.apache.cxf.systests.uncategorized.tests |
cxf-systests-ws-rm-<version>.jar | org.apache.cxf.systests.ws.rm |
cxf-systests-ws-security-<version>.jar | org.apache.cxf.systests.ws.security |
cxf-systests-ws-security-<version>-tests.jar | org.apache.cxf.systests.ws.security.tests |
cxf-systests-ws-security-<version>.jar | org.apache.cxf.systests.ws.security.examples |
cxf-systests-ws-security-<version>-tests.jar | org.apache.cxf.systests.ws.security.examples.tests |
cxf-systests-ws-specs-<version>.jar | org.apache.cxf.systests.ws.specs |
cxf-systests-ws-specs-<version>-tests.jar | org.apache.cxf.systests.ws.specs.tests |
cxf-systests-ws-transfer-<version>.jar | org.apache.cxf.systests.ws.transfer |
Example Usage
Here is a quick example of using Apache CXF SSE capabilities from modular Java application through the module-info.java descriptor.
module sample.sse { ... requires org.apache.cxf.frontend.jaxrs; requires org.apache.cxf.transport.http; requires org.apache.cxf.rs.sse; requires com.fasterxml.jackson.jaxrs.json; requires com.fasterxml.jackson.annotation; requires io.reactivex.rxjava2; requires transitive java.ws.rs; requires transitive org.reactivestreams; requires javax.servlet.api; requires jetty.server; requires jetty.servlet; requires jetty.util; requires java.xml.bind; }