Reference Guide
These are the various XML configuration elements that you can use to configure the Cargo Maven 2 / Maven 3 plugin. Make sure you also check the use cases which show how to use them.
Top level configuration elements | Description | Mandatory? | Default value |
---|---|---|---|
Definition of a Configuration | Defaults to a standalone configuration if the container is of type local and a runtime one if it's of type remote | ||
Definition of a Container | Defaults to a Jetty 8.x installed local container if not specified | ||
Definition of a Deployer | Defaults to a deployer matching the container's type if none is specified (installed local deployer for an installed container, remote deployer for a remote container and embedded local deployer for an embedded container) | ||
A list of deployables that are going to be deployed in the container when it is started or when | If the project's packaging is | ||
Additional configuration that is used when deploying with the Cargo Daemon. | For more information, please read: Cargo Daemon. | ||
| Set this to | Defaults to | |
<ignoreFailures> | Set this to | Defaults to false , you can also steer it using the system property cargo.ignore.failures |
...
| Description | Mandatory? | Default value | ||
---|---|---|---|---|---|
List of Configuration files that are to be added to a local container's configuration. Each file is specified using a | No default | ||||
List of files that are to be added to a local container's configuration. Each file is specified using a | No default | ||||
| For standalone configuration this is the location where Cargo will create the configuration and for existing configuration this is where it is located. |
| |||
| Full classname of a custom configuration implementation to use. In that case the custom configuration is registered with the | Defaults to the Cargo-provided implementation if not specified | |||
Values to use for various Configuration properties. You can also use the | Default configuration properties
In addition to this, properties can also be set using the Maven 2 / Maven 3 | ||||
<xmlReplacements> | Values to use for various XML replacements. | No default | |||
| Configuration's type. Valid values are |
| |||
<users> | List of users to be created in container configuration. | No default | |||
<datasources> | List of datasources to be created in container configuration. | No default |
...
| Description | Mandatory? | Default value |
---|---|---|---|
| If |
| |
| Id of the container to use. Valid values can be found in the description page for each container. |
| |
| Container context key, which can be used for two purposes:
| No reusable default The Cargo Maven 2 / Maven 3 plugin will actually generate a unique context key for each container based on the container and configuration's type and home - Which is not meant to be reused by end users. | |
List of extra dependencies or shared dependencies that will be added to the container or applications execution classpath. | No default | ||
| Location where the container is installed. If specified in conjunction with the | No default If the user has not defined any | |
| Full classname of a custom container implementation to use. In that case, the custom container is registered with the | Defaults to the Cargo-provided implementation if not specified | |
| Path to a file where Cargo logs are saved. | Logs to the Maven 2 / Maven 3 console if no log file is specified | |
| Path to a file where container logs are saved. | Logs to the file specified by the | |
List of You can also use the | No default | ||
The timeout after which Cargo reports an error if the container is not started or stopped. |
| ||
| The container's type. Valid values are | Default value is | |
Defines the location of a container distribution zip that will be downloaded and installed. | No default If the user has not defined any | ||
Defines the location of a container Maven 2 / Maven 3 artifact that will be downloaded and installed. | No default If the user has not defined any |
...
| Description | Mandatory? | Default value |
---|---|---|---|
| Maven 2 / Maven 3 artifact id for the module. This artifact id must match either the project's artifact id if your project generates a J2EE artifact (WAR, EAR, EJB and RAR) or it must match a specified | Defaults to the project's artifact id | |
| Maven 2 / Maven 3 group id for the module. This group id must match either the project's group id if your project generates a J2EE artifact (WAR, EAR, EJB and RAR) or it must match a specified | Defaults to the project's group id | |
| Deployable implementation class. Usage of this option is not recommended, please prefer | No default | |
| Path location where the module can be found | Default's to the project's generated artifact location or to the specified | |
| URL on which to ping the deployed or undeployed application (to check if deployment or undeployment is successful), that should return an HTTP OK response only after the deployment is complete. If not set, the deployed or undeployed application will not be pinged, hence the deployment considered as complete as soon as the target server's method returns successfully. | No default | |
<pingUrlPath> | URL path used to ping the deployed or undeployed application. It has similar functionality as | No default | |
| If |
| |
User-defined properties of a deployable. | No default | ||
| Maven 2 / Maven 3 type for the module. This type must match either the project's packaging if your project generates a J2EE artifact (WAR, EAR, EJB and RAR) or it must match a specified | Defaults to the project's packaging |
...
| Description | Mandatory? | Default value | ||
---|---|---|---|---|---|
| Maven 2 / Maven 3 's artifact id of the dependency. This artifact id must match a specified | Defaults to the project's artifact id | |||
| Maven 2 / Maven 3 's group id of the dependency. This group id must match a specified | Defaults to the project's group id | |||
| Maven 2 / Maven 3 's artifact type of the dependency. This type must match a specified | Defaults to the project's packaging | |||
| Target classpath, either |
| |||
| The path of a folder or a jar file you wish to add to deployable classpath. This element can be used to explicitly add entries to the classpath. For example:
| If the groupId and artifactId match those of the project then the deployable is the artifact generated by the project. Otherwise the location is the location of the dependency in your local repository. |
...
| Description | Mandatory? | Default value |
---|---|---|---|
| URL from which to download the container's ZIP or TAR.GZ file. | No default | |
| Directory in which the |
| |
| Directory in which the |
| |
Proxy server settings, if required. | No default |
...
Info | ||
---|---|---|
| ||
Note that CARGO will by default reuse existing Maven 2 / Maven 3 proxy configuration -, so you won't need to type the proxy settings for the |
...
<datasource> elements | Description | Mandatory? | Default value |
---|---|---|---|
<jndiName> | JNDI name where to find this DataSource. | No default | |
<connectionType> | Type of this DataSource, for example "javax.sql.XADataSource" | No default | |
<transactionSupport> | Transaction support of the datasource, for example "XA_TRANSACTION" | No default | |
<driverClass> | The class name of the Driver, for example "org.hsqldb.jdbcDriver" | No default | |
<url> | DataSource connection URL. | No default | |
<username> | DataSource username. | No default | |
<password> | DataSource password. | Empty string | |
<id> | Id used in configuration files. | No default | |
<connectionProperties> | Extra properties passed to the DataSource. | No default |
Anchor | ||||
---|---|---|---|---|
|
Daemon configuration
The Cargo Daemon is a Web-based application that uses the Cargo API to configure, start and stop containers on a remote machine. The daemon is meant to be listening 24/7, to allow users to deploy new containers and web applications at their command. For more information, please read: Cargo Daemon.
Info | ||
---|---|---|
| ||
For the Maven plugin, the "daemonized server" is actually a local container with a hostname that points to a remote machine. This implies that:
When you call
|
...
Anchor | ||||
---|---|---|---|---|
|
Setting configuration options via the Maven
...
3 settings.xml
The Cargo Maven 2 / Maven 3 plugin also allows you to define container configuration properties using the settings.xml
file. This way, you can for example store properties like usernames and passwords in a centralized location (as opposed to pom.xml
files).
...
Code Block | ||||
---|---|---|---|---|
| ||||
<plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2maven3-plugin</artifactId> <configuration> [...] <configuration> <properties> <cargo.server.settings>jonas1</cargo.server.settings> </properties> </configuration> </configuration> </plugin> |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2maven3-plugin</artifactId> <configuration> [...] <configuration> <properties> <cargo.remote.uri>jmx://jonas1</cargo.remote.uri> <cargo.jonas.domain.name>jonas</cargo.jonas.domain.name> <cargo.remote.username>jonas</cargo.remote.username> <cargo.remote.password>jonas</cargo.remote.password> </properties> </configuration> </configuration> </plugin> |
...