The server keeps common Java libraries in a repository by using the same directory structure and naming conventions prompted by the Apache Maven project. If your Java EE asset depends on a library that is not already in the repository, you can update the repository to include the new library from the administration console or by using the deployer command, and define the dependency in your Java EE asset's deployment plan.

This topic introduces how to add Java libraries to the Geronimo repository by using the Administration Console.

Update the repository with new library

For adding archives or jars to the repository, the Repository Viewer portlet is available by selecting Server > Repository on the Console Navigation menu on the left side. The Repository Viewer portlet illustrated in the following figure displays the artifacts installed in the server's repository. The layout of the repository is the same as that used by Apache Maven, which makes it possible to copy files over easily.

Here are the meaning for each field on the Repository Viewer portlet:

Define the dependency in the deployment plan

To avoid problems with trying to load the same native library more than once per jvm lifetime, you need to put the code that loads native libraries (such as many db drivers) into a classloader plugin that can be shared among all the datasource plugins that need the classes.

To use an artifact in an application, take the first artifact from the list as an example, you will need to add a <dependency> element under <dependencies> in the <environment> element in the application's deployment plan. Here is an excerpt of how a deployment plan would look like:

xmlsolid <environment> ... <dependencies> ... <dependency> <groupId>annogen</groupId> <artifactId>annogen</artifactId> <version>0.1.0</version> <type>jar</type> </dependency> </dependencies> </environment>

Besides using the administration console to add an archive into the Geronimo repository, you can do the same thing by using the deploy command.