This page last changed on Feb 18, 2011 by alitokmen.
Definition
Installs a container
Explanation
An Installer is meant to install a container on your local machine. There is currently only a single Installer implementation: ZipURLInstaller which downloads a zipped container distribution from a URL and which installs it (i.e. unpacks it) in a specified directory. This is useful if you wish to fully automate a container installation without having to ask the user to manually install a container on their machine.
Of course you don't have to use an Installer if you want to use a container already installed on your machine.
Example using the Java API
Installer installer = new ZipURLInstaller(
"http:,
"target/installs");
installer.install();
InstalledLocalContainer container = new Jetty7xInstalledLocalContainer(
new Jetty7xStandaloneConfiguration("target/jetty7x"));
container.setHome(installer.getHome());
[...]
Example using the Ant API
<cargo containerId="jetty7x" [...]>
<zipUrlInstaller
installUrl="http://download.eclipse.org/jetty/7.2.2.v20101205/dist/jetty-distribution-7.2.2.v20101205.tar.gz",
installDir="target/installs"/>
[...]
</cargo>
Example using the Maven2 plugin
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>jetty7x</containerId>
<zipUrlInstaller>
<url>http://download.eclipse.org/jetty/7.2.2.v20101205/dist/jetty-distribution-7.2.2.v20101205.tar.gz</url>
<installDir>target/installs</installDir>
</zipUrlInstaller>
</container>
[...]
</configuration>
</plugin>
Using Maven2-based distributions
New versions of most application servers have their distribution packages built by Maven2, hence distribute these as ZIP or TAR.GZ files on a Maven2 repository. It is also rather easy to upload servers' packages to an internal (for example, enterprise) Maven repository.
The CARGO ZipUrlInstaller can be used to reuse the Maven dependency. The example below illustrates that use case applied on Jetty 7:
<properties>
<jetty.version>7.2.2.v20101205</jetty.version>
</properties>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-distribution</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
<type>zip</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>${cargo.version}</version>
<configuration>
<wait>false</wait>
<container>
<containerId>jetty7x</containerId>
<zipUrlInstaller>
<url>
file:///${settings.localRepository}/org/eclipse/jetty/jetty-distribution/${jetty.version}/jetty-distribution-${jetty.version}.zip
</url>
<installDir>${project.build.directory}/jetty-root</installDir>
</zipUrlInstaller>
</container>
[...]
</configuration>
[...]
</plugin>
</plugins>
</build>
</project>
|