Author: olamy Date: Fri Jan 13 13:48:04 2012 New Revision: 1231063 URL: http://svn.apache.org/viewvc?rev=1231063&view=rev Log: add documentation on the archetype
Added: tomcat/maven-plugin/trunk/src/site/apt/archetype.apt.vm (with props) Added: tomcat/maven-plugin/trunk/src/site/apt/archetype.apt.vm URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/src/site/apt/archetype.apt.vm?rev=1231063&view=auto ============================================================================== --- tomcat/maven-plugin/trunk/src/site/apt/archetype.apt.vm (added) +++ tomcat/maven-plugin/trunk/src/site/apt/archetype.apt.vm Fri Jan 13 13:48:04 2012 @@ -0,0 +1,131 @@ + --- + Tomcat Maven plugin Archetype + --- + Oliver Lamy + --- + 2011-01-13 + --- + + ~~ Licensed to the Apache Software Foundation (ASF) under one + ~~ or more contributor license agreements. See the NOTICE file + ~~ distributed with this work for additional information + ~~ regarding copyright ownership. The ASF licenses this file + ~~ to you under the Apache License, Version 2.0 (the + ~~ "License"); you may not use this file except in compliance + ~~ with the License. You may obtain a copy of the License at + ~~ + ~~ http://www.apache.org/licenses/LICENSE-2.0 + ~~ + ~~ Unless required by applicable law or agreed to in writing, + ~~ software distributed under the License is distributed on an + ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~~ KIND, either express or implied. See the License for the + ~~ specific language governing permissions and limitations + ~~ under the License. + + ~~ NOTE: For help with the syntax of this file, see: + ~~ http://maven.apache.org/doxia/references/apt-format.html + +Tomcat Maven plugin Archetype + + There is an archetype for the Tomcat Maven plugin to show various features with concrete samples. + +* Using it + + Use a released version: + ++-------------------- +mvn archetype:generate \ + -DarchetypeGroupId=org.apache.tomcat.maven \ + -DarchetypeArtifactId=tomcat-maven-archetype \ + -DarchetypeVersion=${project.version} ++-------------------- + + Use a SNAPSHOT version: + ++-------------------- +mvn archetype:generate \ + -DarchetypeGroupId=org.apache.tomcat.maven \ + -DarchetypeArtifactId=tomcat-maven-archetype \ + -DarchetypeVersion=${project.version} \ + -DarchetypeRepository=https://repository.apache.org/content/repositories/snapshots/ ++-------------------- + + You will have the following output (we will use a project named tomcat-sample) + ++-------------------- +.... +[INFO] Using property: groupId = org.apache.tomcat.maven +Define value for property 'artifactId': : tomcat-sample (project will be created in ./tomcat-sample ) +... +cd tomcat-sample ++-------------------- + +* Project details + + Note: it's a complex hello world sample :-) + + The goal is to expose a REST service called HelloService and use it in a web application. + ++------------------ +@Path( "HelloService" ) +public interface HelloService +{ + @Path( "sayHello/{who}" ) + @GET + @Produces( { MediaType.TEXT_PLAIN } ) + String sayHello( @PathParam( "who" ) String who ); +} ++------------------ + + The {{{http://cxf.apache.org}Apache Cxf}} will be used to expose the implementation as a REST service. + + Now you have a standard multi module Maven projects layout: + + * basic-api (service interface) + + * basic-api-impl (service default impl). For more details on how cxf works have a look at spring configuration files. + + * basic-webapp (our webapp module) + + * basic-webapp-exec (module to generated executable war) + + * basic-webapp-it (module to run selenium tests with generated war) + + [] + +* Using the plugin with the project + +** Running the webapp + + From the top directory, you can use: mvn tomcat6:run or mvn tomcat7:run (depends on tomcat version you want). + + Now hit your browser http://localhost:9090 and you will use a very complicated hello world webapp sample + +** Integration tests with Selenium + + Use mvn clean install. Default browser is firefox but you can use -Pchrome or -Piexplore. + +** Using an executable war/jar + + Now you have now an executable jar/war. + + Try it: + ++------------------ +cd basic-webapp-exec/target/ +java -jar basic-webapp-exec-1.0-SNAPSHOT-war-exec.jar -httpPort 9191 ++------------------ + + + + And hit your browser to http://localhost:9191. + + So you have a tomcat7 running our fabulous application and without installing nothing ! + + + + + + + Propchange: tomcat/maven-plugin/trunk/src/site/apt/archetype.apt.vm ------------------------------------------------------------------------------ svn:eol-style = native Propchange: tomcat/maven-plugin/trunk/src/site/apt/archetype.apt.vm ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org