In the Apache CXF versions prior to 2.6, it was possible to include all
of the Apache CXF modules in your application by adding a dependency on the
cxf-bundle artifact to your Maven pom.xml file—for
example:
<project>
...
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle</artifactId>
<version>...</version>
</dependency>
...
</dependencies>
</project>From Apache CXF 2.6 onwards, however, the cxf-bundle artifact is no
longer available. Instead of adding a single dependency on the
cxf-bundle artifact, it is now necessary to add dependencies for each of the
individual Apache CXF modules that your application depends on. For example, the basic set of
Maven dependencies you would need for a simple JAX-WS Java application is as follows:
<project>
...
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.6.0.fuse-71-047</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.6.0.fuse-71-047</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>2.6.0.fuse-71-047</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>The org.apache.cxf.tools.* classes that were in the cxf-api
JAR have been moved into the cxf-tools-common JAR or the
cxf-tools-validator JAR.
The org.apache.cxf.ws.policy classes that were in the cxf-api
JAR have been moved into the cxf-rt-ws-policy JAR.
The cxf-common-utilities JAR is no longer available. All the classes from
that JAR have been moved into the cxf-api JAR.
Various classes in the cxf-rt-core JAR and the cxf-rt-ws-addr
JAR have been moved into the cxf-api JAR in order to resolve split-package
issues. Formerly, dependencies on cxf-rt-core would have transitively pulled in
the cxf-api JAR anyway, so there should be little impact.
Spring is now an optional component of the http-jetty transports module and
other modules. If you have any applications that rely on pulling in Spring transitively
through Apache CXF (that is, no explicit dependency on Spring is declared), you will now
have to modify the Maven POM files to add an explicit dependency on Spring.
Most of the optional JAX-RS providers have been moved out of the
cxf-rt-frontend-jaxrs module and into the
cxf-rt-rs-extension-providers module, with the various dependencies marked as
either optional or provided. Applications that use optional
providers now need to add the required dependencies explicitly to their
POM files. Also, the package names of those providers have changed in order to resolve
split-package issues.
For example:
org.apache.cxf.jaxrs.provider.JSONProviderhas moved toorg.apache.cxf.jaxrs.provider.json.JSONProvider.org.apache.cxf.jaxrs.provider.aegisis the new package for Aegis providers.org.apache.cxf.jaxrs.provider.xmlbeansis the new package for XMLBeans providers.org.apache.cxf.jaxrs.provider.atomis the new package for Atom providers.
EhCache is now a compile-time dependency of the cxf-rt-ws-security module
in order to support caching and replay detection. It can be safely excluded downstream, at
the expense of weakening the caching support.
The CORS package has changed to org.apache.cxf.rs.security.cors and moved
to the new cxf-rt-rs-security-cors module.








