par , 26/08/2015 à 17h19 (705 Affichages)
Le projet, sur lequel je suis en ce moment, m'oblige à ne pas respecter les conventions Maven. Malgré tout, je suis un grand fan du site Maven. C'est pourquoi, je vous propose un exemple de génération de la Javadoc et Xref lorsque les conventions Maven ne sont pas respectées.
Tout d'abord, le non respect des conventions limite le choix des plugins utilisables par Maven. Par exemple, je n'ai pas réussi à faire marcher le plugin PMD. En effet, l'option sourcepath n'existe pas sur tous les plugins.
C'est pourquoi, je préconise le respect des conventions mais dans le cas de ce projet, il n'était pas possible de les respecter sans un coût non négligeable sur ce projet.
Javadoc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<failOnError>false</failOnError>
</configuration>
<reportSets>
<reportSet>
<id>html</id>
<configuration>
<sourcepath>chemin vers les sources</sourcepath>
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>test-html</id>
<configuration>
<sourcepath>chemin vers les sources de tests</sourcepath>
</configuration>
<reports>
<report>test-javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin> |
L'option "failOnError" permet de ne pas faire échouer la génération de la documentation lorsque les références ne sont pas trouvées. En effet, je n'ai pas trouvé de moyen d'ajouter le classpath. Il y avait bien une option qui prend les dépendances mais dans mon cas, j'ai encore pas mal de librairies qui ne sont pas mavenisées.
Xref
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
<reportSets>
<reportSet>
<id>aggregate</id>
<configuration>
<sourcePath>chemin vers les sources</sourcePath>
</configuration>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin> |
Attention dans le cas de xref, l'option est sourcePath et non sourcepath.
Afin de ne pas avoir besoin d'utiliser l'option "failOnError", il est possible de déclarer des dépendances comme suit :
1 2 3 4 5 6 7
| <dependency>
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency> |
Afin d'utiliser cette méthode, il est nécessaire de déclarer toutes les dépendances du projet sous peine de ne pas avoir les éléments nécessaires dans le CLASSPATH.