# maven compile, Ändeungen an Klassen



## ueltschisa (14. Aug 2008)

Hallo Forum

Ich habe eine Anfängerfrage zu Maven.

Ich habe nach einer Anleitung in einem Tutorial ein Standard Maven Projekt erstellt. Die Standard Tasks wie compile, test, package, install etc. kann ich Problemlos ausführen. Allerdings habe ich etwas, meiner meinung nach, seltsames entdeckt.

Wenn ich nach ausführen von "mvn compile" eine änderung an einer Klasse vornehme und erneut "mvn compile" ausführe wird die Klasse nicht erneut kompiliert.


> [INFO] [compiler:compile]
> [INFO] Nothing to compile - all classes are up to date



Die Änderungen werden nur mit "mvn clean compile" übernommen.

Ist das ein Fehler oder normal? Es erscheint mir ziemlich seltsam..


mfg ueltschisa


----------



## maki (14. Aug 2008)

Wie entwickelst du an deinen Sourcen?
Mit welcher IDE?
Nimmst du die Standard Ordner Struktur?

Manche IDE (wenn da srichtige Plugin installiert ist) machen einen Compile sobald du eine geämderte Klasse abspeicherst, ohne dass du davon etwas mitbekommst.


----------



## ueltschisa (14. Aug 2008)

maki hat gesagt.:
			
		

> Wie entwickelst du an deinen Sourcen?
> Mit welcher IDE?
> Nimmst du die Standard Ordner Struktur?
> 
> Manche IDE (wenn da srichtige Plugin installiert ist) machen einen Compile sobald du eine geämderte Klasse abspeicherst, ohne dass du davon etwas mitbekommst.



Hallo 

Danke für die Antwort, hat mein Problem schon gelöst . Lag tatsächlich an Eclipse. Ich hatte angenommen Eclipse würde die .class Dateien nach /bin kopieren. Aber mvn eclipse:eclipse hatte es schon auf /targen/classes gesetzt. Daran hätte ich eigentlich denken sollen.

Danke nochmal für die Hilfe

mfg ueltschisa


----------



## maki (14. Aug 2008)

mvn eclipse:eclipse ist gut, besser zusaqmmen mit dem m2 plugin, allerdings kann es sein, dass danach deine jars doppelt im classpath sind, dann kannst du entweder die M2_REPO referenzen oder die M2 dependenices löschen.

Ich mache das folgendermassen:
1. Projekt aus dem SCM importieren
2. rechtsklick auf das projekt und Maven -> enable dependecy management klicken (ggf das Plugin vorher installieren)
3. Porjekt schliessen, zur kommandozeile in den Projektordner wechseln und mvn eclipse:eclipse eingeben
4. danach in Eclipse das Projekt wieder öffnen, ggf. refreshen, falls doppelte classpath entries vorhanden s. O.
5. mvn clean install aus eclipse aufrufen (run-> ...)

fertig


----------



## lhein (14. Aug 2008)

Ich komm mit diesem komischen Plugin nicht wirklich zurecht. Das mag bei einfachen Projekten sicherlich noch ok sein, aber sobald das ganze mal richtig verschachtelt wird mit etlichen Unter- und Unter-Unter Project poms, dann rennt sich das Ding tot.
Da bleib ich lieber in der Shell, da weiss man was man hat. (Programmieren natürlich in Eclipse über eclipse:eclipse)


----------



## maki (15. Aug 2008)

Probier mal Netbeans 

Hat imho bis jetzt die beste Maven 2 integration, nahtlos eingebettet und um einiges schneller als Eclipse mit Maven Projekten.


----------

