Apache Maven Archetype avec Eclipse

Créez un nouveau projet.

Clic droit dans l'explorateur de paquet > New > Project

Sélectionnez Maven Project

Sélectionnez maven-archetype-archetype

Spécifiez les paramètres. Ces paramètres identifieront votre archetype

La structure du projet devrait ressembler à ça :

Renommez archetype.xml en archetype-metadata.xml

Vous pouvez modifier ce fichier

<archetype-descriptor name="test"
 xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0
        http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
 xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <fileSets>
  <fileSet filtered="true" packaged="true" encoding="UTF-8">
   <directory>src/main/java</directory>
  </fileSet>
  <fileSet filtered="true" packaged="false" encoding="UTF-8">
   <directory>src/main/resources</directory>
  </fileSet>
  <fileSet filtered="true" packaged="true" encoding="UTF-8">
   <directory>src/test/java</directory>
  </fileSet>
 </fileSets>
</archetype-descriptor>

L’archétype va générer 3 dossiers src/main/java, src/main/resources et src/test/java

Modifiez le fichier pom.xml celui dans le dossier archetype-resources

<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>${groupId}</groupId>
 <artifactId>${artifactId}</artifactId>
 <version>${version}</version>
 <dependencies>
  <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
  <dependency>
   <groupId>org.junit.jupiter</groupId>
   <artifactId>junit-jupiter-api</artifactId>
   <version>5.6.0</version>
   <scope>test</scope>
  </dependency>
  <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
  <dependency>
   <groupId>org.junit.jupiter</groupId>
   <artifactId>junit-jupiter-engine</artifactId>
   <version>5.6.0</version>
   <scope>test</scope>
  </dependency>
 </dependencies>
</project>

Modifiez le fichier pom.xml celui dans le projet (celui dans le répertoire racine)

<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>fr.ronanlefichant.archetype</groupId>
  <artifactId>test</artifactId>
  <version>1.0</version>
  <name>Archetype - test</name>
  <url>http://maven.apache.org</url>
</project>

Vous pouvez ajouter n'importe quels fichiers dans le projet.

Exemple de fichier App.java

package ${package};

public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

Exemple de fichier AppTest.java

package ${package};

import static org.junit.jupiter.api.Assertions.fail;

import org.junit.jupiter.api.Test;

public class AppTest {
 
 @Test
 public void testApp() {
  fail("Not implemented yet");
 }
 
}

Remarquez le package ${package}; qui sera renommé automatiquement lors de la génération à partir de l’archétype

Maintenant, la structure du projet devrait ressembler à ça :

Construisez et installez votre archétype. Clic droit sur le projet > Run As > Maven install

Ajoutez votre archétype en cliquant sur le bouton Add archetype et entrez les paramètres du pom.xml du projet (celui dans le répertoire racine)

Sélectionnez votre archétype et créez votre projet en entrant vos paramètres.

Commentaires