Maven

Maven-phases.pdf

Le site de référence :  http://maven.apache.org/  

Maven repositories 

Voir aussi : 

http://javablabla.blogspot.fr/2013/08/eclipse-kepler-creer-un-projet-web.html

Comment créer rapidement un projet Maven sous Eclipse Kepler 

New / Project... / Maven / Maven project

[Next >]

Sélectionner  

    [x] « Create a simple project » 

    [x] « Use default workspace location »  (l’emplacement indiqué va changer par la suite)

[Next >]

Saisir le Group Id et l’ Artifact Id  (qui vont être utilisés dans le pom.xml )

Exemple :

    Group Id : « tp »

    Artifact Id : « tp.jpa »  (aussi utiliser comme le nom du projet qui va être créé dans le workspace)

[ Finish ]

Un nouveau projet est ajouté dans le workspace avec le nom de l'Artifact Id

Ce nom peut ensuite être changé ( par "Refactor" / "Rename" )

Le projet créé contient les répertoires standards de Maven et un fichier "pom.xml"

Pour compiler en Java 1.8 :

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.0</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
      </configuration>
    </plugin>
  </plugins>
</build>

Dépendences pour JUnit 4.11 :

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
</dependencies>

Dépendences pour Servlet 3.0 et JSP 2.1 :

<dependencies>

<dependency>

  <groupId>javax.servlet</groupId>

  <artifactId>javax.servlet-api</artifactId>

  <version>3.0.1</version>

  <scope>provided</scope>

</dependency>

<dependency>

  <groupId>javax.servlet.jsp</groupId>

  <artifactId>javax.servlet.jsp-api</artifactId>

  <version>2.2.1</version>

  <scope>provided</scope>

</dependency>

<dependency>

  <groupId>jstl</groupId>

  <artifactId>jstl</artifactId>

  <version>1.2</version>

</dependency>

</dependencies>

puis " Run as .. / Maven install " pour récupérer les dépendances 

et "Maven / Update project..." pour mettre à jour le projet Eclipse

NB : le header du "web.xml" doit être compatible avec la version de servlet/JSP du "pom.xml" :

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" 

         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 

         id="WebApp_ID" version="3.0">

Configuration d'un "Web Project" avec Maven :

- Ajouter "src/main/webapp" 

Va contenir les ressources statiques et les JSP du projet.

Remplace le "WebContent" d'un projet web classique sous Eclipse

- Properties / Project Facets :

- Properties / Deployment Assembly :

Pour déployer les dépendances Maven dans WEB-INF/lib :  'Add'  +  'Java Build Path Entries'

- Properties / Maven :

Ne pas cocher l'option 'Resolve dependencies from Workspace projects' :

Création du fichier "WEB-INF/web.xml"  :

Le projet Maven ne contient pas de fichier "WEB-INF/web.xml"

Pour le créer :

    Click-droit sur le projet  :  Java EE Tools / Generate Deployment Descriptor Stub

    Un ficiher "web.xml" vide est ajouté dans le répertoire "src/main/webapp/WEB-INF"