Maven + JUnit

berndklb

Grünschnabel
Hallo,
ich hätte da mal ne blöde Frage, die sicherlich schnell beantwortet werden kann, leider find ich nun wirklich keine Lösung dazu.
Es geht um ein einfaches kleines Maven + Junit Beispiel (ich übe gerade mit Maven)
Pom:
Code:
<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/xsd/maven-4.0.0.xsd">
  
  <modelVersion>4.0.0</modelVersion>
  <groupId>de.hs-osnabrueck</groupId>
  <artifactId>junit</artifactId>
  <version>1.0</version>
  <name>junit-maven</name>
  <description></description>
  
  <!--Properties-->
  <properties>
	<src>src</src>
	<target>target</target>
  </properties>
  
  <build>
	<sourceDirectory>${src}</sourceDirectory>
	<directory>${target}</directory>
	<outputDirectory>${target}</outputDirectory>
	<testSourceDirectory>src/test</testSourceDirectory>
	<testOutputDirectory>${target}</testOutputDirectory>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>2.0.2</version>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>
    </plugins> 
	</build>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.3.1</version>
			<scope>src</scope>
		</dependency>
	</dependencies>
</project>
und ich bekomme folgende Fehlermeldungen:
Code:
E:\FHOsna\test\maven\junit\src\test\de\fhwi\codecover\Integrations2Test.java:[3,23] package org.junit does not exist

E:\FHOsna\test\maven\junit\src\test\de\fhwi\codecover\Integrations2Test.java:[3,0] static import only from classes and interfaces

E:\FHOsna\test\maven\junit\src\test\de\fhwi\codecover\Integrations2Test.java:[4,23] package org.junit does not exist

E:\FHOsna\test\maven\junit\src\test\de\fhwi\codecover\Integrations2Test.java:[4,0] static import only from classes and interfaces
....

und
Code:
cannot find symbol
symbol: class RunWith
@RunWith(Suite.class)
...

Als Ordner Strukur
JUnit (basisVerzeichnis mit der POM.xml)
-> Pom.XML
-> src
-> test
->package-Sturktur
-> target (dort soll dann alles kompilierte landen)

so ich hoffe ich hab nichts zur Fehlerfindung vergessen.

Danke!
 
Scope für JUnit Dependency sollte doch test sein. src gibt es meiner Meinung nach gar nicht...

Verwende doch aber bitte am Besten die von Maven vorgegebene Projekt-Struktur.
 
Ist denn etwas grob falsch an der Struktur? Ich hab das bis jetzt grob eines Buches übernommen. Mit dem scope test haben Sie natürlich recht, das hatte ich nur aus Testzwecken verändert. Bei dem Scope Test folgt der gleiche fehler.
 
Hallo,

ist nur eine Vermutung, aber eventuell könnte es daran liegen das deine artifactId (junit) der von JUnit entspricht (und eine ID sollte doch eindeutig sein). Denke das somit Maven die package Struktur von JUnit (u.a. org.junit) erwartet wird und das in deinem Projekt nicht der Fall ist?

Viele Grüße
sony2
 
Hey, ne daran lag es leider auch nicht. aber ich habe es jetzt ans Laufen bekommen. Lag ehrlich gesagt eher an meiner Dummheit / "Nichtwissenheit"
Punkte die man anscheind beachten muss ich nicht genau wusste.
Einerseits an der Junit Version (lag an mir, die war vielleicht doch noch zu alt)
Weiterhin sind die Maven-Server auch nicht immer erreichbar bzw. laufen schnell in ein timeout (sodass das junit.jar auch nicht heruntergeladen wurde)
weiterhin ist die Ordnerstruktur wichtig, am besten darauf achten und am besten mit den default Verzeichnissen anfangen:
http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

Thema kann somit als gelöst markiert oder geschlossen werden.
Danke!
 
Zurück