Crear una Aplicación Web con Apache Maven

En este ejemplo se crea una aplicación Web simple con Apache Maven, la cual puede ser gestionada por IDEs tales como Eclipse o Netbeans.

Requisitos

  • Java JDK 6 o superior
  • Apache Maven 2 o superior
  • Eclipse versión JEE
Para aprender más sobre Maven :

Pasos

Abrimos la consola y creamos un proyecto con Maven utilizando el arquetipo adecuado maven-archetype-webapp

mvn archetype:generate -DgroupId=com.sobrejava.ejemplo.web
-DartifactId=ejemplo-web 
-DarchetypeArtifactId=maven-archetype-webapp
-DinteractiveMode=false




Ahora tenemos una estructura similar a la siguiente



Ahora agregamos las dependencias necesarias para una aplicación Web, en este ejemplo utilizaremos java-web-6, la cual nos brinda lo necesario para iniciar con el desarrollo de Servlets, JSP, etc. Para ello editamos el archivo pom.xml de la siguiente manera







pom.xml



<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
         http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.sobrejava.ejemplo.web</groupId>
  <artifactId>ejemplo-web</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>ejemplo-web Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!-- agregamos el API para JEE6 -->
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>ejemplo-web</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
Editamos el archivo src/main/webapp/web.xml con el descriptor 3.0







web.xml



<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_3_0.xsd"
           version="3.0">

    <display-name>Ejemplo-Web</display-name>

</web-app> 
Algunos IDEs como Eclipse utilizan el descriptor para definir la versión Web de la aplicación.


Finalmente para descargar las dependencias (si es necesario) y
asegurarnos que todo este bien, para ello vamos al directorio de la
aplicación y usamos mvn compile



Editar Aplicación con Eclipse IDE

En Eclipse (JEE versión), Seleccionamos un Workspace adecuado y vamos a Menú File -> Import -> Maven Projects -> Existing Maven Project...



En la pantalla de Import Maven Projects seleccionamos el directorio donde se encuentra el proyecto ejemplo-web y seleccionamos Finish



Finalmente tenemos el proyecto configurado con Eclipse WTP .