Building Jaxen


Jaxen's build system is officially Maven 1.0.2. However version 1.1 also seems to work. To compile Jaxen, install Maven. Then at the shell prompt inside the top-level jaxen directory, type "maven java:compile":

$ maven java:compile

You'll likely see some deprecation warnings. Don't worry about these. They're internal to jaxen, and do not indicate bugs.

To run the unit tests, type "maven test":

$ maven test

To build a jar file at the shell prompt type "maven jar":

$ maven jar

This runs the unit tests as well. If any are failing and you still want to build a jar file, use the -Dmaven.test.failure.ignore=true option:

$ maven -Dmaven.test.failure.ignore=true jar

To generate javadoc, type "maven javadoc":

$ maven javadoc

To generate the complete documentation for the site, including code coverage measurements, static code analysis, and more, type "maven site":

$ maven site

In all three cases the output appears in the target folder.

To remove build artifacts, type "maven clean":

$ maven clean

Publishing a Release

To prepare jaxen for release:

  1. Tag the release in Subversion.
  2. Generate the release files with maven dist. Depending on hardware, this will take 20-30 minutes.
  3. Using a WebDAV client, open (In the Mac OS X Finder, this is Go/Connect to Server...)
  4. Copy the .zip and .tar.gz files from target/distributions to
  5. Copy the .jar file from target to
  6. Copy the .pom file from target to
  7. Using the Mac Finder, or another WebDAV client, open
  8. Copy all files from target/docs into this directory, overwriting the existing files.
  9. File a Maven bug report about the new POM so it can be copied over to IBiblio.

Note: maven dist:deploy no longer works.