J2EE7 – Pom minimal
J’ai souvent utilisé l’archetype Maven jboss-javaee6-webapp-archetype pour commencer un projet J2EE6. En cherchant sur internet la version suivante pour un projet de type J2EE7, j’ai découvert ce fichier pom.xml minimaliste :
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${artifactId}</finalName>
</build>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
</project>
Voici la source : http://www.adam-bien.com/roller/abien/entry/essential_maven_pom_for_javaee.
Pour compléter ce fichier il est possible d’ajouter un des nombreux boms proposés par le projet wildfly en version 8.0.0.Final (https://github.com/wildfly/boms) :
- jboss-javaee-7.0-with-all
- jboss-javaee-7.0-with-hibernate
- jboss-javaee-7.0-with-hibernate3
- jboss-javaee-7.0-with-infinispan
- jboss-javaee-7.0-with-logging
- jboss-javaee-7.0-with-resteasy
- jboss-javaee-7.0-with-security
- jboss-javaee-7.0-with-tools
- jboss-javaee-7.0-with-transactions
Par exemple :
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>jboss-javaee-7.0-with-all</artifactId>
<version>8.0.0.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Au final, je n’ai pas trouvé l’archetype que je souhaitais, mais je suis tout de même tombé sur une bonne astuce pour débuter un projet J2EE7 très rapidement.