Build Helper Maven
Cet article présente l'utilisation du plugin build-helper-maven-plugin
permettant de gérer les reousrces des projets.
Les exemples décrits sont disponibles sous ce lien : http://www.svn.jouvinio.net/study/trunk/maven/build-helper-maven-plugin
Sommaire
Votre avis
Nobody voted on this yet
|
|
Etude
Par défaut, un projet Jar
sous Maven
se structure en deux fois deux répertoires.
- src/main/java, contient le code source Java du projet;
- src/main/resources contient les resources, autre que le code Java;
- src/test/java, contient le code source Java des tests du projet;
- src/test/resources contient les resources pour les tests, autre que le code Java;
Il est parfois nécessaire de rajouter des répertoires sources, comme lors de code auto-généré par des frameworks de webservice, dans la structure du projet.
Le plugin build-helper-maven-plugin
permet de contrôler la structure des projets.
Ajout répertoire source
Mise en place
Dans cet exemple, deux répertoires de sources sous ajoutés à la structure principale.
<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.ejn.tutorial.maven</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Study Build Helper plugin</name>
<description>Example for the Maven Build Helper plugin</description>
<contributors>
<contributor>
<name>Etienne Jouvin</name>
<email>etienne.jouvin@free.fr</email>
<organization>Jouvinio</organization>
<organizationUrl>http://www.jouvinio.net/wiki</organizationUrl>
<timezone>+1</timezone>
<roles>
<role>Java Developer</role>
</roles>
</contributor>
</contributors>
<scm>
<connection>scm:svn:http://www.svn.jouvinio.net/study/trunk/maven/build-helper-maven-plugin/</connection>
<developerConnection>scm:svn:https://www.svn.jouvinio.net/study/trunk/maven/build-helper-maven-plugin/</developerConnection>
<url>http://www.svn.jouvinio.net/study/trunk/maven/build-helper-maven-plugin/</url>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<build>
<sourceDirectory>src/main/java/first</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/java/second</source>
<source>src/main/java/third</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Pour cet exemple, l'emplacement par défaut du code est spécifié à src/main/java/first
à l'aide de la configuration sourceDirectory
.
Deux répertoires src/main/java/second
et src/main/java/third
sont ajoutés en tant que répertoire de sources du projet. L'organisation du projet obtenue est la suivante:

Implémentation Eclipse
Afin de pouvoir fonctionner, il est nécessaire de rajouter le connecteur buildhelper dans Eclipse
. Une fois ajouté, les configurations mises en places sont interprétées.
A noter que par défaut les répertoires de source sont ajoutées dans un ordre différent que celui mis dans le fichier pom.xml
, et même dans un ordre après le répertoire de source des tests.
Mais l'ordre peut se modifier directelent dans les préférences du projet.
Voir aussi
Documentation officielle: http://www.mojohaus.org/build-helper-maven-plugin/