# Codehaus Cargo : TomEE 10.x

Created by S. Ali Tokmen, last modified on Jul 08, 2026

This page has been automatically generated by Cargo's build. Do not edit it directly as it'll be overwritten next time it's generated again.

Users of TomEE 9.x onwards should be aware that, as a result of the move from Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse Foundation, the primary package for all implemented APIs has changed from `javax.*` to `jakarta.*`. This will almost certainly require code changes to enable applications to migrate to TomEE 9.x and later.

TomEE 9.x onwards has an integrated functionality for automatically migrating J2EE / Java EE WARs to Jakarta EE. You can follow the instructions on Deploying legacy WARs to Tomcat 10.x onwards to make use of it.

### Container Features

Feature name | Java API | Ant tasks | Maven 3 plugin | Comment
--- | --- | --- | --- | ---
Container Instantiation | `ContainerFactory.createContainer("tomee10x"...)` | `<cargo containerId="tomee10x".../>` | `<containerId>tomee10x</containerId>` |
Local Container |  |  |  |
Container Classpath |  |  |  |
Container Start |  |  |  |
Container Stop |  |  |  |
Container Timeout |  |  |  |
Embedded Container |  |  |  |
Installed Container | `o.c.c.c.tomee.Tomee10xInstalledLocalContainer` |  |  |
Passing system properties |  |  |  |
Installer |  |  |  |
Remote Container | `o.c.c.c.tomee.Tomee10xRemoteContainer` |  |  |

### Configuration Features

Feature name | Java API | Ant tasks | Maven 3 plugin | Comment
--- | --- | --- | --- | ---
Standalone Local Configuration for installed container | `o.c.c.c.tomee.Tomee10xStandaloneLocalConfiguration` |  |  |
Standalone Local Configuration for embedded container |  |  |  |
Existing Local Configuration for installed container | `o.c.c.c.tomee.TomeeExistingLocalConfiguration` |  |  |
Existing Local Configuration for embedded container |  |  |  |
Runtime Configuration | `o.c.c.c.tomee.Tomee10xRuntimeConfiguration` |  |  |
Static deployment of WAR |  |  |  |
Static deployment of expanded WAR |  |  |  |
Static deployment of EJB |  |  |  |
Static deployment of EAR |  |  |  |
Static deployment of RAR |  |  |  |
Static deployment of files |  |  |  |
Static deployment of OSGi Bundles |  |  |  |

### Deployer Features

Feature name | Java API | Ant tasks | Maven 3 plugin | Comment
--- | --- | --- | --- | ---
Installed Deployer | `o.c.c.c.tomee.TomeeCopyingInstalledLocalDeployer` |  |  |
Embedded Deployer |  |  |  |
Remote Deployer | `o.c.c.c.tomee.Tomee10xRemoteDeployer` |  |  |

### Other Features

Feature name | Java API | Ant tasks | Maven 3 plugin | Comment
--- | --- | --- | --- | ---
Debugging |  |  |  |

### Supported Configuration properties

The tables below list both the general configuration properties as well as the container-specific ones.

#### Standalone Local Configuration Properties

##### For installed container o.c.c.c.tomee.Tomee10xInstalledLocalContainer

Property name | Java Property | Supported? | Default value | Javadoc
--- | --- | --- | --- | ---
cargo.hostname | GeneralPropertySet.HOSTNAME |  | `localhost` |
cargo.java.home | GeneralPropertySet.JAVA_HOME |  | JAVA_HOME version 17 or newer |
cargo.jvmargs | GeneralPropertySet.JVMARGS |  | N/A |
cargo.logging | GeneralPropertySet.LOGGING |  | `medium` |
cargo.port.offset | GeneralPropertySet.PORT_OFFSET |  | `0` |
cargo.process.spawn | GeneralPropertySet.SPAWN_PROCESS |  | `false` |
cargo.protocol | GeneralPropertySet.PROTOCOL |  | `http` |
cargo.rmi.port | GeneralPropertySet.RMI_PORT |  | `8205` |
cargo.runtime.args | GeneralPropertySet.RUNTIME_ARGS |  | N/A |
cargo.servlet.port | ServletPropertySet.PORT |  | `8080` |
cargo.servlet.users | ServletPropertySet.USERS |  | `admin::manager-script` |
cargo.standalone.ignoreNonExistingProperties | GeneralPropertySet.IGNORE_NON_EXISTING_PROPERTIES |  | N/A |
cargo.start.jvmargs | GeneralPropertySet.START_JVMARGS |  | N/A |
cargo.tomcat.ajp.port | TomcatPropertySet.AJP_PORT |  | `8009` |
cargo.tomcat.connector.httpUpgradeProtocol | TomcatPropertySet.CONNECTOR_HTTP_UPGRADE_PROTOCOL |  | N/A |
cargo.tomcat.connector.keystoreFile | TomcatPropertySet.CONNECTOR_KEY_STORE_FILE |  | N/A |
cargo.tomcat.connector.keystorePass | TomcatPropertySet.CONNECTOR_KEY_STORE_PASSWORD |  | N/A |
cargo.tomcat.connector.keystoreType | TomcatPropertySet.CONNECTOR_KEY_STORE_TYPE |  | `RSA` |
cargo.tomcat.connector.maxHttpHeaderSize | TomcatPropertySet.CONNECTOR_MAX_HTTP_HEADER_SIZE |  | N/A |
cargo.tomcat.connector.maxParameterCount | TomcatPropertySet.CONNECTOR_MAX_PARAMETER_COUNT |  | N/A |
cargo.tomcat.connector.maxPartCount | TomcatPropertySet.CONNECTOR_MAX_PART_COUNT |  | N/A |
cargo.tomcat.connector.protocolClass | TomcatPropertySet.CONNECTOR_PROTOCOL_CLASS |  | N/A |
cargo.tomcat.context.allowCasualMultipartParsing | TomcatPropertySet.CONTEXT_ALLOW_MULTIPART |  | `true` |
cargo.tomcat.context.mapJarToWebinfClasses | TomcatPropertySet.CONTEXT_MAP_JARS_TO_WEBINF_CLASSES |  | `false` |
cargo.tomcat.context.reloadable | TomcatPropertySet.CONTEXT_RELOADABLE |  | `false` |
cargo.tomcat.copywars | TomcatPropertySet.COPY_WARS |  | `true` |
cargo.tomcat.host.startStopThreads | TomcatPropertySet.HOST_START_STOP_THREADS |  | N/A |
cargo.tomcat.uriencoding | TomcatPropertySet.URI_ENCODING |  | `UTF-8` |
cargo.tomcat.useHttpOnly | TomcatPropertySet.USE_HTTP_ONLY |  | N/A |
cargo.tomcat.valve | TomcatPropertySet.CUSTOM_VALVE |  | N/A |
cargo.tomcat.webappsDirectory | TomcatPropertySet.WEBAPPS_DIRECTORY |  | `webapps` |
cargo.tomcat.webappsLegacyDirectory | TomcatPropertySet.WEBAPPS_LEGACY_DIRECTORY |  | `webapps-javaee` |
cargo.tomee.appsDirectory | TomeePropertySet.APPS_DIRECTORY |  | `apps` |

Datasource and Resource configuration

In addition to the forementioned properties, this container configuration can also set up datasources and/or resources.

For more details, please read: DataSource and Resource Support.

#### Existing Local Configuration Properties

##### For installed container o.c.c.c.tomee.Tomee10xInstalledLocalContainer

Property name | Java Property | Supported? | Default value | Javadoc
--- | --- | --- | --- | ---
cargo.hostname | GeneralPropertySet.HOSTNAME |  | `localhost` |
cargo.java.home | GeneralPropertySet.JAVA_HOME |  | JAVA_HOME version 17 or newer |
cargo.jvmargs | GeneralPropertySet.JVMARGS |  | N/A |
cargo.port.offset | GeneralPropertySet.PORT_OFFSET |  | `0` |
cargo.process.spawn | GeneralPropertySet.SPAWN_PROCESS |  | `false` |
cargo.protocol | GeneralPropertySet.PROTOCOL |  | `http` |
cargo.runtime.args | GeneralPropertySet.RUNTIME_ARGS |  | N/A |
cargo.servlet.port | ServletPropertySet.PORT |  | `8080` |
cargo.start.jvmargs | GeneralPropertySet.START_JVMARGS |  | N/A |

#### Runtime Configuration Properties

##### For remote container o.c.c.c.tomee.Tomee10xRemoteContainer

Property name | Java Property | Supported? | Default value | Javadoc
--- | --- | --- | --- | ---
cargo.hostname | GeneralPropertySet.HOSTNAME |  | `localhost` |
cargo.protocol | GeneralPropertySet.PROTOCOL |  | `http` |
cargo.remote.password | RemotePropertySet.PASSWORD |  | N/A |
cargo.remote.timeout | RemotePropertySet.TIMEOUT |  | `600000` |
cargo.remote.uri | RemotePropertySet.URI |  | N/A |
cargo.remote.username | RemotePropertySet.USERNAME |  | N/A |
cargo.servlet.port | ServletPropertySet.PORT |  | `8080` |
cargo.tomcat.deploy.update | TomcatPropertySet.DEPLOY_UPDATE |  | `false` |
cargo.tomcat.undeploy.allVersions | TomcatPropertySet.UNDEPLOY_ALL_VERSIONS |  | `false` |

With TomEE, the Tomcat manager has multiple aspects to be careful about:

- Your browser by default accesses the HTML-based manager whereas Codehaus Cargo needs to use the text-based manager. As a result, if you want to set the `RemotePropertySet.URI` manually, please make sure you set the URL for the text-based manager, for example `http://production27:8080/manager/text`
- The text-based manager requires to be accessed by a user with the `manager-script` role; and by default no user has that role. As a result, please make sure you modify your `tomcat-users.xml` file to give that role to a user.
  You can read more in the Tomcat documentation: https://tomcat.apache.org/tomcat-10.0-doc/manager-howto.html

### Tested On

This container is automatically tested by the Continous Integration (CI) system every time there is a code change.
The server used for tests is downloaded from: https://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/10.1.5/apache-tomee-10.1.5-plus.zip

Moreover, the below other branch is also tested by the CI system:

- https://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/10.0.1/apache-tomee-10.0.1-plus.zip

Branches not tested by the CI might not be consistently supported.