TomEE provides a maven-archetype for generating a maven based project. This template-project is preconfigured with
javaee-api (scope provided) and with the
tomee-maven-plugin for starting the application with TomEE.
The current version of the archetype is '18.104.22.168'. So the needed command to generate an application is:
mvn archetype:generate -DarchetypeGroupId=org.apache.openejb.maven -DarchetypeArtifactId=tomee-webapp-archetype -DarchetypeVersion=22.214.171.124
The first time you run this command maven downloads the archetype and some parts related to it. Afterwards you see a prompt which allows you to specify the groupId, artifactId, version and package of your application. If you are using 'tomee' as groupId, 'tomee-demo' as artifactId, '1.0' as version and 'myapp' as package, your console should show something like:
Define value for property 'groupId': : tomee Define value for property 'artifactId': : tomee-demo Define value for property 'version': 1.0-SNAPSHOT: : 1.0 Define value for property 'package': tomee: : myapp Confirm properties configuration: groupId: tomee artifactId: tomee-demo version: 1.0 package: myapp ... [INFO] BUILD SUCCESS ...
Afterwards you see a new folder with the name you used for the artifactId (in the previous example 'tomee-demo'). For starting the application you have to change the current directory to the directory of the generated application:
With using the archetype everything you need is in place already. So you just have to start TomEE with:
mvn package tomee:run
The first time you run this command takes a bit longer, because maven has to download e.g. TomEE. Once those parts are downloaded, starting maven, deploying and starting the generated application takes less than 10s (depending on your computer).
The application gets deployed to
target/apache-tomee/webapps. If everything worked correctly, you should see a directory ('ROOT') as well as a web-archive ('ROOT.war').
The context-paths of the deployed application is ROOT. In our example the generated application contains a servlet mapped to '/index'. So you can access it via:
All edits are reviewed before going live, so feel free to do much more than fix typos or links. If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it. Don't be surprised if we like it so much we ask you for help with other pages :)NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.