J'essaie de créer le javadoc avec Maven et cela échoue. Il échoue également lors de la vérification.
mvn verify
Je reçois l'erreur suivante:
(...)
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/miquel/creaveu/createOmegaMatrix/src/main/Java/edu/url/salle/gtm/hnm/dataStructures/HFrame.Java:[6,23]
package org.junit does not exist
[ERROR] /home/miquel/creaveu/createOmegaMatrix/src/main/Java/edu/url/salle/gtm/hnm/dataStructures/HFrame.Java:[6,0]
static import only from classes and interfaces
(···)
Dans mon fichier pom.xml, j'ai les lignes suivantes:
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
et mon référentiel local contient le fichier jar junit:
miquel@ubuntu:~/creaveu/createOmegaMatrix$ ls -l /home/miquel/.m2/repository/org/junit/junit/4.8.2/
total 248
**-rw-r--r-- 1 miquel miquel 237344 2012-09-13 11:01 junit-4.8.2.jar**
-rw-r--r-- 1 miquel miquel 236 2012-09-13 11:13 junit-4.8.2-javadoc.jar.lastUpdated
-rw-r--r-- 1 miquel miquel 0 2012-09-13 11:13 junit-4.8.2-javadoc.jar-not-available
-rw-r--r-- 1 miquel miquel 458 2012-09-12 18:35 junit-4.8.2.pom
-rw-r--r-- 1 miquel miquel 236 2012-09-13 11:13 junit-4.8.2-sources.jar.lastUpdated
-rw-r--r-- 1 miquel miquel 0 2012-09-13 11:13 junit-4.8.2-sources.jar-not-available
-rw-r--r-- 1 miquel miquel 163 2012-09-13 11:22 _maven.repositories
miquel@ubuntu:~/creaveu/createOmegaMatrix$
Le code est correct car sur mon ordinateur portable, auquel je n’ai pas accès, je peux exécuter:
mvn javadoc:javadoc
mvn verify
sans aucun problème, et les tests fonctionnent également dans Eclipse IDE.
Ok, vous avez déclaré la dépendance junit
pour les classes test
uniquement (celles qui sont dans src/test/Java
mais vous essayez de les utiliser dans les classes main
(celles qui sont dans src/main/Java
).
Ne l'utilisez pas dans les classes principales ou supprimez <scope>test</scope>
.
J'ai corrigé cette erreur en insérant ces lignes de code:
<dependency>
<groupId>junit</groupId> <!-- NOT org.junit here -->
<artifactId>junit-dep</artifactId>
<version>4.8.2</version>
</dependency>
dans le noeud <dependencies>.
plus de détails voir: http://mvnrepository.com/artifact/junit/junit-dep/4.8.2
si vous utilisez Eclipse, surveillez vos dépendances POM et votre dépendance du chemin de construction Eclipse sur junit
si vous sélectionnez utiliser Junit4 Eclipse, créez TestCase en utilisant le package org.junit, mais votre POM utilise par défaut Junit3 (package junit.framework), comme en témoigne cette image:
Il suffit de mettre à jour votre dépendance Junit dans votre fichier POM vers Junit4 ou votre Eclipse BuildPath vers Junit3.
Dans mon cas, le coupable n’a pas distingué le dossier principal et le répertoire de sources de test dans pom.xml (généré par le projet maven d’Eclipse).
<build>
<sourceDirectory>src</sourceDirectory>
....
</build>
Si vous remplacez les paramètres de dossier source par défaut dans le fichier pom, vous devez définir explicitement les dossiers source AND principaux de test !!!!
<build>
<sourceDirectory>src/main/Java</sourceDirectory>
<testSourceDirectory>src/test/Java</testSourceDirectory>
....
</build>