web-dev-qa-db-de.com

maven-Fehler: Paket org.junit ist nicht vorhanden

Ich versuche, das Javadoc mit Maven zu erstellen, und es schlägt fehl. Es schlägt auch bei der Überprüfung fehl.

mvn verify

Ich erhalte folgende Fehlermeldung:

(...)
    [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
    (···)

In meiner pom.xml-Datei habe ich folgende Zeilen:

<dependency>
  <groupId>org.junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.2</version>
  <scope>test</scope>
</dependency>

und mein lokales Repository enthält die junit-JAR-Datei:

[email protected]:~/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
[email protected]:~/creaveu/createOmegaMatrix$

Der Code ist in Ordnung, denn in meinem Laptop, auf den ich jetzt keinen Zugriff habe, kann ich Folgendes ausführen:

mvn javadoc:javadoc
mvn verify

ohne Probleme, und auch die Tests funktionieren in Eclipse IDE.

62
theme

Ok, Sie haben die junit-Abhängigkeit nur für test-Klassen erklärt (diejenigen, die sich in src/test/Java befinden, aber Sie versuchen, sie in main-Klassen zu verwenden (die in src/main/Java sind).

Entweder nicht in Hauptklassen verwenden oder <scope>test</scope> entfernen.

125
Andrew Logvinov

Ich habe diesen Fehler behoben, indem ich folgende Codezeilen eingefügt habe: 

<dependency>
  <groupId>junit</groupId>     <!-- NOT org.junit here -->
  <artifactId>junit-dep</artifactId>
  <version>4.8.2</version>
</dependency>

in den <Abhängigkeiten> Knoten. 

weitere Informationen finden Sie unter: http://mvnrepository.com/artifact/junit/junit-dep/4.8.2

26

wenn Sie Eclipse verwenden, beachten Sie Ihre POM-Abhängigkeiten und Ihre Eclipse-Buildpath-Abhängigkeit von junit

wenn Sie Junit4 Eclipse verwenden auswählen, erstellen Sie TestCase mit dem Paket org.junit. Ihr POM verwendet jedoch standardmäßig Junit3 (Paket junit.framework).

see JUNIT conflict

Aktualisieren Sie einfach Ihre Junit-Abhängigkeit in Ihrer POM-Datei auf Junit4 oder Ihren Eclipse BuildPath auf Junit3

15
Grubhart

In meinem Fall hat der Täter den Haupt- und Testquellenordner in pom.xml nicht unterschieden (generiert von Eclipse Maven Project).

<build>
    <sourceDirectory>src</sourceDirectory>
    ....
</build>

Wenn Sie die Standard-Quellordner-Einstellungen in der POM-Datei überschreiben, müssen Sie die Haupt- und Test-Quellordner explizit festlegen.

<build>
    <sourceDirectory>src/main/Java</sourceDirectory>
    <testSourceDirectory>src/test/Java</testSourceDirectory>
    ....
</build>
0
nix