Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

<container> elements

Description

Mandatory?

Default value

<append>

If true, then the file specified by <output> will not be erased across different runs.

(thumbs down)

false

<containerId>

Id of the container to use. Valid values can be found in the description page for each container.

(thumbs down)

jetty7x

<contextKey>

Container context key, which can be used to startfor two purposes:

  1. Start, stop, configure or deploy to the same Cargo container (together with its configuration) from different Maven artifacts.
  2. Inject configuration properties via the Maven settings.xml file, as explained in the setting configuration options via the Maven 2 / Maven 3 settings.xml section.

(thumbs down)

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.

<dependencies>

List of extra dependencies or shared dependencies that will be added to the container or applications execution classpath.

(thumbs down)

No default

<home>

Location where the container is installed. If specified in conjunction with the <zipUrlInstaller> or <artifactInstaller> element, it will override the home directory defined by the installer.

(thumbs down)

No default

If the user has not defined any home, <zipUrlInstaller> nor <artifactInstaller> element then the plugin will automatically attempt to download the container using the URL used by its tests (see the Tested On section of each container).

<implementation>

Full classname of a custom container implementation to use. In that case, the custom container is registered with the <containerId> and <type> specified.

(thumbs down)

Defaults to the Cargo-provided implementation if not specified

<log>

Path to a file where Cargo logs are saved.

(thumbs down)

Logs to the Maven 2 / Maven 3 console if no log file is specified

<output>

Path to a file where container logs are saved.

(thumbs down)

Logs to the file specified by the <log> element or to the Maven 2 / Maven 3 console if no such file has been specified

<systemProperties>

List of <key>value</key> pairs to be passed as System properties to the container when it is started.


You can also use the <systemPropertiesFile> element to load system properties from a file.

(thumbs down)

No default

<timeout>

The timeout after which Cargo reports an error if the container is not started or stopped.

(thumbs down)

120000 ms (2 minutes)

<type>

The container's type. Valid values are installed, embedded and remote.

(thumbs down)

Default value is installed unless the <containerId> has not been specified, in which case the default is to use the Jetty 8.x installed local container.

<zipUrlInstaller>

Defines the location of a container distribution zip that will be downloaded and installed.

(thumbs down)

No default

If the user has not defined any home, <zipUrlInstaller> nor <artifactInstaller> element then the plugin will automatically attempt to download the container using the URL used by its tests (see the Tested On section of each container).

<artifactInstaller>

Defines the location of a container Maven 2 / Maven 3 artifact that will be downloaded and installed.

(thumbs down)

No default

If the user has not defined any home, <zipUrlInstaller> nor <artifactInstaller> element then the plugin will automatically attempt to download the container using the URL used by its tests (see the Tested On section of each container).

...

Then, in the Cargo plugin's configuration, use the cargo.server.settings property do either of the following in order to reference inject the configuration properties that you have previously defined . For example:

...

in the settings.xml file:

  • Define a container <contextKey> attribute
    ... or
  • Use the cargo.server.settings property in  the container configuration

Here comes an example with the second technique:

Code Block
xml
xml
<plugin>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-maven2-plugin</artifactId>
  <configuration>
    [...]
    <configuration>
      <properties>
        <cargo.server.settings>jonas1</cargo.server.settings>
      </properties>
    </configuration>
  </configuration>
</plugin>

...

Note
titleCareful with properties set in the POM

Priority for property values are as follows:

Highest
  1. First and highest priority: Properties set using environment variables
  2. Second priority: Properties loaded from a file
  3. Third priority: Properties set in the POM
  4. Fourth priority: Properties that should be loaded using the cargo.server.settings option
Third priority
  1. Fifth priority: Properties
loaded from a fileLowest priority: Properties set in the POM
  1. that should be loaded using <contextKey> option
  2. Sixth and lowest priority: Default properties set by the container itself