Plugins can be system modules, applications, classloader definitions, and plugin groups. The Geronimo server is assemblages of plugins. Assemblies are the different ways you can create a server out of the various pluging available. Starting with Geronimo 2.1 and 2.2, the servers are assembled entirely out of plugins.
Plugins have an identifier with groupId, artifactId, version, and type. It's possible to have a plugin without a moduleId but this is not currently used.
Plugins can contain both server functionality and application functionality or both. For instance, you can include a web server configuration in a web application plugin.
Plugins are listed in plugin catalogs which contain information about the plugins (typically name and description) and where to get the plugin.
You can install a plugin into an existing server in different ways:
At times, you may need to upgrade a plugin or jar version, for instance if a new version of a dependency is released but you cannot rerelease all the artifacts that depend on it. Here are some methods to upgrade jar versions.
If the jar is to be installed as part of a plugin installation, see the section below. Otherwise, follow these steps. First, if the server is running, stop the server. Second, copy the new jar into the appropriate directory in your geronimo server's repository. For instance:
mkdir -p repository/org/foo/myjar/1.1/ cp ~/newFooJar/myjar-1.1.jar repository/org/foo/myjar/1.1/
Alternatively, the admin console portlet Services->Repository can be used to add artifacts to the server's repository.
Finally, after the new jar is installed in the server's repository, add a line to var/config/artifact_aliases.properties (or the equivalent file, if the server is using a non-standard alias file). For instance, to replace myjar-1.0.jar with myjar-1.1.jar:
With this configuration, the server will substitute myjar-1.1.jar for any myjar-1.0.jar dependency.
If the jar is installed as part of a plugin installation, you can include configuration upgrade information in the geronimo-plugin.xml. During plugin installation, the upgraded jar will be automatically installed. This is easiest to specify in the car-maven-config configuration in the pom.xml, prior to building the plugin.
Look in to Plugin infrastructure for more details.