Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Java 1.5 -> 1.8

Building CXF from Source

CXF uses Maven as its build and management tool.

Prequisites

Required:

Building CXF

Before you can build CXF, you'll need to first check it out from the Source Repository. Then you'll need to install Maven 2.0.x.

...

building CXF, you need to setup an environment variable to give Maven more memory:
On Unix

Code Block
export MAVEN_OPTS="-Xmx512M"

On Windows

Code Block
set MAVEN_OPTS=-Xmx512M

On 64 bit Windows, or if you're obtaining out-of-memory, you may need to expand the memory requirements above further, to 768M.

Code Block
set MAVEN_OPTS=-Xmx768M

On 64bit Linux and Solaris platforms, or if you're obtaining out-of-memory errors, you may need to expand the memory requirements above further, to 768M. 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:

Code Block
export MAVEN_OPTS="-Xmx512M -XX:+UseCompressedOops"

To build CXF simply execute (from within the cloned git directory):

Code Block
$ mvn install

Or, "mvn clean install" for subsequent runs. To build CXF without running checkstyle do:

Code Block
$ mvn install-Pnochecks

To build CXF without running checkstyle or the tests do:

Code Block

$ mvn -Pfastinstall

Setting up Eclipse

To setup eclipse for CXF, you'll want to check to set up a separate directory /outside of your workspace/. Here is an example of how it might be done:

Code Block

[/home/joe]$ mkdir /home/dan/cxf
[/home/joe]$ cd cxf
[/home/joe/cxf]$ svn co https://svn.apache.org/repos/asf/incubator/cxf/trunk
[/home/joe/cxf]$ cd trunk
[/home/joe/cxf/trunk]$ mvn -Pfastinstall
[/home/joe/cxf/trunk]$ mvn -Psetup.eclipse 

Once that is done, start up eclipse and set your workspace to "/home/joe/cxf/workspace". You'll then want to import all the CXF modules into eclipse. This can be done by doing:

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:

Code Block
$ 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:

Code Block
$ 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:

Code Block
$ 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.

Maven Repositories

If you use Maven for building your applications, Apache CXF artifacts are available from the following repository URLS:

Releases:

All supported CXF releases are synced into the maven central repository: http://repo1.maven.org/maven2/

Snapshots:

Snapshots are available in Apache's snapshot repository: http://repository.apache.org/snapshots

Note

Snapshot builds are relatively untested and unsupported and are provided for verification and testing purposes.

...