The Jaxen XPath Engine for Java
Jaxen is an open source XPath 1.0 library written in Java. It is adaptable to many different object models, including DOM, XOM, dom4j, and JDOM. It is also possible to write adapters that treat non-XML trees such as compiled Java byte code or Java beans as XML, thus enabling you to query these trees with XPath too.
The current version is 2.0.0. This release requires Java 1.5 or later. If you're still using Java 1.4 or earlier, try Jaxen 1.2.0. If you're still using Java 1.3 or earlier, try Jaxen 1.1.6.
Jaxen's Maven group ID is jaxen and its artifact ID is jaxen. To add a dependency on jaxen using Maven, add this dependency element to your pom.xml:
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>2.0.0</version>
</dependency>To add a dependency using Gradle:
dependencies {
compile 'jaxen:jaxen:2.0.0'
}To build Jaxen from source, you need Java 8+ and Maven 3.6.3+. The project includes a Maven wrapper for convenience:
# Using Maven wrapper (recommended)
./mvnw clean test
# Or using system Maven if installed
mvn clean testJaxen includes comprehensive automated API compatibility checking:
- Java API Compatibility: Uses Animal Sniffer to ensure code only uses APIs available in Java 1.5
- Jaxen API Protection: Uses Japicmp to detect breaking changes to jaxen's own public API
This dual approach helps maintain backward compatibility and prevents accidental introduction of breaking changes.
See API_COMPATIBILITY.md for detailed information about the API compatibility checking system.