views:

560

answers:

2

Is there a Maven 2 archetype for a simple Servlet (2.5) web application?

A: 

you can start with

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp

For a list of other archetypes,please refere to archetypes list

diy
+1  A: 

There is an archetype for webapp:

mvn archetype:generate -DgroupId=com.acme \
                       -DartifactId=my-webapp \
                       -Dversion=1.0-SNAPSHOT \
                       -DarchetypeArtifactId=maven-archetype-webapp \
                       -DinteractiveMode=false

This will generate the following structure:

$ tree my-webapp/
my-webapp/
├── pom.xml
└── src
    └── main
        ├── resources
        └── webapp
            ├── index.jsp
            └── WEB-INF
                └── web.xml

Where the web.xml is a Servlet 2.3 web.xml:

$ cat my-webapp/src/main/webapp/WEB-INF/web.xml 
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

For a Servlet 2.5 web application, replace it with something like this:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  version="2.5">
  <display-name>Archetype Created Web Application</display-name>
</web-app>

I don't know for NetBeans but Eclipse (more precisely M2Eclipse) relies on the web.xml to set the project facets (so you need to change the web.xml before the import, Eclipse won't update the web facet if you change the web.xml after the facts).

Pascal Thivent