Title: JAR Files and Dependencies

	

<P>This sections explains where all the relevant jar files are located. It also lists Cayenne dependencies.</P>

<H3><A name="JARFilesandDependencies-CayenneRuntimeFramework"></A>Cayenne Runtime Framework</H3>

<P>One of two Cayenne jar files, <TT>cayenne.jar</TT> or <TT>cayenne-nodeps.jar</TT>, should be accessible in runtime (i.e. present in the application CLASSPATH). Either one or the other should be used (but not both at the same time). In most cases <TT>cayenne.jar</TT> is the best choice. It has Cayenne classes as well as a minimum set of third-party dependencies. Bundled dependencies include:</P>

<UL>
	<LI><A href="http://objectstyle.org/ashwood/" class="external-link" rel="nofollow">ObjectStyle Ashwood Graph Library</A>, version 1.1</LI>
	<LI><A href="http://jakarta.apache.org/velocity/" class="external-link" rel="nofollow">Apache Velocity Template Engine</A>, version 1.3 (and all its dependencies bundled with velocity-dep)</LI>
	<LI><A href="http://jakarta.apache.org/log4j/" class="external-link" rel="nofollow">Apache Log4J</A>, version 1.2.9</LI>
	<LI><A href="http://jakarta.apache.org/commons/lang/" class="external-link" rel="nofollow">Apache Commons Lang</A>, version 2.1</LI>
	<LI><A href="http://jakarta.apache.org/commons/collections" class="external-link" rel="nofollow">Apache Commons Collections</A>, version 3.1</LI>
	<LI><A href="http://jakarta.apache.org/commons/logging/" class="external-link" rel="nofollow">Apache Commons Logging</A>, version 1.0.4</LI>
</UL>


<P>If bundled Cayenne dependencies conflict with different versions of the same library, a leaner <TT>cayenne-nodeps.jar</TT> file should be used. In this case all the dependencies above must be provided by the user.</P>

<H3><A name="JARFilesandDependencies-OptionalRuntimeDependencies"></A>Optional Runtime Dependencies</H3>

<P>One or more of the following libraries may be needed depending on how you use Cayenne:</P>

<UL>
	<LI><A href="http://ant.apache.org/" class="external-link" rel="nofollow">Apache Ant</A>, version 1.6 or newer. Needed for <A href="ant-tasks.html" title="Ant Tasks">Cayenne Ant Tasks</A>.</LI>
	<LI><A href="http://jakarta.apache.org/commons/pool/" class="external-link" rel="nofollow">Apache Commons Pool</A>, version 1.2 and <A href="http://jakarta.apache.org/commons/dbcp/" class="external-link" rel="nofollow">Apache Commons DBCP</A>, version 1.2.1. Needed if you use DBCPDataSourceFactory for one of the DataNodes.</LI>
	<LI><A href="http://www.jgroups.org/" class="external-link" rel="nofollow">JGroups</A>, version 2.2.7 or newer. Needed if you plan to use remote notifications via JGroups transport.</LI>
	<LI><A href="http://java.sun.com/products/jms/" class="external-link" rel="nofollow">Java Messaging Service (JMS)</A>. Needed if you plan to use remote notifications via JMS transport.</LI>
	<LI><A href="http://www.jdom.org/" class="external-link" rel="nofollow">JDOM</A>, version 1.0. Needed if you use <A href="dataviews.html" title="DataViews">DataViews</A>.</LI>
</UL>



<H3><A name="JARFilesandDependencies-CayenneModelerTool"></A>CayenneModeler Tool</H3>

<P>Java classes and resources used exclusively by CayenneModeler and not required by the runtime are located in [cayenne_install_dir]/lib/modeler/ directory:</P>

<UL>
	<LI>cayenne-modeler.jar</LI>
	<LI>scope-bin-1.0.1.jar</LI>
	<LI>forms-1.0.3.jar</LI>
	<LI>looks-1.3.1.jar</LI>
	<LI>hsqldb-1.8.0.2.jar</LI>
	<LI>ognl-2.6.7.jar</LI>
	<LI>commons-dbcp-1.2.1.jar</LI>
	<LI>commons-pool-1.2.jar</LI>
</UL>


<P>cayenne-modeler.jar implicitly relies on the presence of [cayenne_install_dir]/lib/cayenne.jar. Instructions on how to start modeler can be found <A href="running-cayennemodeler.html" title="Running CayenneModeler">here</A>.</P>

