Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven archetype for simple Servlet application

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

like image 540
deamon Avatar asked May 06 '10 15:05

deamon


People also ask

What archetype should I use for Maven?

If you want a web application, use maven-archetype-webapp, or if you want a simple application use maven-archetype-quickstart.

What is Maven Quickstart archetype?

maven-archetype-quickstart is an archetype which generates a sample Maven project: project. |-- pom.

What is Maven-archetype-webapp?

maven-archetype-webapp is an archetype which generates a sample Maven webapp project: project. |-- pom.


1 Answers

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).

like image 200
Pascal Thivent Avatar answered Oct 19 '22 23:10

Pascal Thivent