Building CXF from Source
CXF uses Maven as its build and management tool.
Before building CXF, you need to setup an environment variable to give Maven more memory:
export MAVEN_OPTS="-Xmx512M -XX:MaxPermSize=128M"
set MAVEN_OPTS=-Xmx512M -XX:MaxPermSize=128M
On 64 bit Windows, or if you're obtaining out-of-memory or PermGen space errors, you may need to expand the memory requirements above further, to 768M and 192M.
set MAVEN_OPTS=-Xmx768M -XX:MaxPermSize=192M
On 64bit Linux and Solaris platforms, or if you're obtaining out-of-memory or PermGen space errors, you may need to expand the memory requirements above further, to 768M and 192M. However, if you are using a recent version of Java6 (update 14 or later) with 64bit vm, you can use the UseCompressedOops to save memory. In that case, use:
export MAVEN_OPTS="-XX:MaxPermSize=128m -Xmx512M -XX:+UseCompressedOops"
To build CXF simply execute (from within the 'trunk' directory):
Or, "mvn clean install" for subsequent runs. To build CXF without running checkstyle do:
To build CXF without running checkstyle or the tests do:
To build CXF and deploy the sources to your local maven repo do the following. If you build this way you can start your own cxf project from a pom file and import it with maven eclipse:eclipse then you will have all sources correctly linked into your eclipse project:
$ mvn -Pfastinstall source:jar install
Important: For subsequent builds (e.g., after code changes are made), run "mvn clean" first to build from scratch, before using one of the mvn install commands above. (You may also wish to run "svn update" after running mvn clean but before running mvn install.)
Building releasable/testable kits
The "distribution" stuff is in the distribution module. At top level, you can run:
$ mvn install -Peverything
which will cause EVERYTHING to build in one shot, including the distribution modules that are normally excluded. As of CXF 2.3.0, it also will build all the samples to make sure they are fully buildable. To speed it up, you can use the fastinstall profile with it:
$ mvn install -Peverything,fastinstall
Setting up Eclipse
See this page for information on using the Eclipse IDE with the CXF source code.
Building with NetBeans
See this page for information on using the NetBeans IDE with the CXF source code.