##### Configuration

- Home
- Download
- User's Guide
- Howtos (Release 1.2)
- Runtime Dependencies
- Building
- Roadmap
- Javadoc (Release 1.3)
- Javadoc (Release 1.2)
- Javadoc (Release 1.1)
- Javadoc (Release 1.0)
- SVN

##### Extensions

- Avalon Component

##### Project Documentation

- About
- Downloads
- Project Info
  - Mailing Lists
  - Project Team
  - Dependencies
  - Source Repository
  - Issue Tracking
- Project Reports
- Development Process

##### Commons

- Home
- Components
- Sandbox
- Dormant
- Volunteering
- Contributing Patches
- Building Components
- Releasing Components
- Wiki

##### Legend

- External Link
- Opens in a new window

## Runtime dependencies

In the maven POM a lot of dependencies are declared. These are all needed during compile time. On runtime however you only need to add the dependencies to your classpath that are required by the parts of the Commons Configuration package you are using. The following table helps you to determine which dependencies you have to include based on the components you intend to use:

Component | Dependencies
--- | ---
Core | Java 1.3 commons-collections commons-lang commons-logging
ConfigurationFactory | commons-digester commons-beanutils JDK 1.4 or xml-apis
DefaultConfigurationBuilder | commons-beanutils JDK 1.4 or (xml-apis + xerces + xalan)
DatabaseConfiguration | JDBC 3.0 (Java 1.4 or jdbc2_0-stdext.jar)
XMLConfiguration | Java 1.4 or (xml-apis + xerces + xalan)
XMLPropertiesConfiguration | Java 1.4 or (xml-apis + xerces)
PropertyListConfiguration | commons-codec
XMLPropertyListConfiguration | commons-digester commons-beanutils commons-codec JDK 1.4 or xml-apis
ConfigurationDynaBean | commons-beanutils
XPathExpressionEngine | commons-jxpath

Notes

- Commons Configuration makes use of a couple of other Commons components. You should be able to use the current versions of these components together with Commons Configuration. In some cases, when no specific features are used, older versions will work, too. Below is a table with the version numbers that have been tested:

  Component | Version
  --- | ---
  commons-lang | 2.1
  commons-collections | 3.1
  commons-logging | 1.0.4
  commons-digester | 1.6
  commons-beanutils | 1.7.0
  commons-codec | 1.3
  commons-jxpath | 1.2

- In JDK versions before 1.4 XML support is not integrated. To make use of components that require XML processing you need to add a suitable replacement. We used Xerces 2.2.1, Xalan 2.7.0, and XML APIs 2.0.2. Version 2.7.0 of Xalan seems to cause some problems in a few of our JUnit tests (a `java.lang.NoSuchMethodError` is thrown when a SAX data source is to be transformed into a DOM result). With version 2.6.0 these problems do not occur. In both cases the error happened only in test code; the actual code was not affected. But if you face a similar problem with Xalan 2.7.0 it is worth trying the older version.