Unterschied zwischen Ant und Maven

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

könnt ihr mir den Unterschied zwischen Ant und Maven erläutern?
 

foobar

Top Contributor
Ant ist ein buildtool vergleichbar mit make aus der c/c++ Welt. Maven hingegen ist ein Buildmanagement-Tool das auf ant aufsetzt, aber noch viel mehr leistet. Mit Maven kannst du größere Projekte, die aus mehreren Fragmenten bestehen, ziemlich einfach automatisch bauen, Dokus erzeugen etc.
Also ant ist mehr ein Werkzeug um Anwendungen zu bauen und Maven ist eine Logik dahinter. So ähnlich wie bei dpkg und apt unter debian.

http://de.wikipedia.org/wiki/Apache_Maven
 
G

Guest

Gast
Ich hab vor kurzem das erstemal Ant benötigt. Ich überlege mir nun, ob es sinnvoll ist mich auch in Maven einzuarbeiten. Was meine Ant-Erfahrungen angeht... die sind noch nicht besonders ausgeprägt.

Was meint ihr? Ist es sinnvoll mich mit meinen jetzigen Kenntnissen schon mit Maven zu beschäftigen? Mir ist noch nicht so richtig klar, welchen Vorteil es mir bringt wenn ich neben Ant auch noch Maven benutze.
 
M

maki

Gast
Maven 2 setzt nicht auf Ant auf ;)

Maven 2 könnte man als "Project Management Framework" bezeichnen.
Es bietet Unterstützung für Build, Release, abhängigkeiten(jars etc.), Code Analyse etc. pp., alles über Plugins gesteuert.
Ausserdem schreibt Maven2 eine Konvention für die Ordnerstruktur vor, hält man sich an diese ist es sehr einfach zu konfigurieren und neue Mitarbeiter die Maven2 kennen, finden sehr schnell ins Projekt.
Maven2 ist aber noch viel mehr :)

Ant ist nur ein Build Tool.
Mit Ant muss man alles selbst schreiben, jede Funktionalität die man will.

Prinzipiell kann man mit Ant alles machen, was Maven 2 kann, aber man muss dann wirklich alles selbst schreiben, mit Maven 2 sind die meisten Dinge so einfach (2-3 Zeilen XML konfiguration), dass man es wirklich einsetzen sollte, wann man die Möglichkeit hat.

Kurz: Maven2 rocks :)
 
G

Guest

Gast
1.)
Heißt das ich sollte mich am besten garnicht weiter in Ant einarbeiten und sofort Maven verwenden?

2.)
Kann ich Maven so wie Ant auch in Verbindung mit Eclipse verwenden?

3.)
Kennt ihr vielleicht ein gutes (am besten deutsches) Tutorial über Maven?
 
G

Guest

Gast
:D vielen Dank für die Hilfe...

ohne den Tip hätte ich mich jetzt wohl nur mit ant und nicht mit Maven beschäftigt.
 
M

maki

Gast
Maven 2 soll so schnell wie Ant sein, aber ohne Ant oder Jelly zu nutzen.
Speziell beim Umgang mit den sog. "transitiven" Dependencies (also jars die von deinen direkt benötigten Jars, genutzt werden), werden automatisch aufgelöst, wenn sie im Zentral Repo verfügbar sind.

Man muss also nicht mehr alle jars etc auflisten, sondern nur die direkt benötigten, die "indirekten/transitiv" benötigen werden automatisch mitruntergeladen.

Damit ist es noch einfacher zu nutzen als Maven 1.

Nebenbei, ich setze meine Repositories mit Artifactory auf, macht es sehr einfach :)
 

kama

Top Contributor
Hallo,

foobar hat gesagt.:
Ant ist ein buildtool vergleichbar mit make aus der c/c++ Welt.
Der Vergleich mit (GNU)make hinkt ein wenig, da es in Make deutlich komplexer ist abhängigkeiten zu definieren.
Dort muss man sich sog. Phony-Targets definieren, um bspw. ein Ziel zu haben, dass selbst keine Datei erzeugt (target in Ant)...
Die Abhängigkeiten sind komplexer, da es in C/C++ so etwas wie Header-Dateien gibt, die in Java nicht existieren...

Vor allem aber ist Ant OS unabhängig, was in (GNU)Make nur recht schwer hinzubekommen ist.....Es gibt ein Ant-Äquivalent für PHP (www.phing.info)...

foobar hat gesagt.:
Maven hingegen ist ein Buildmanagement-Tool das auf ant aufsetzt, aber noch viel mehr leistet.
Wie schon bemerkt wurde setzt Maven 2 nicht auf Ant auf sondern ist eine vollständige neu implementation.
Ich würde Maven aber nicht als Buildmanagement Tool sehen sondern auch als Build-Tool...den Management-Teil muss man immer noch selbst machen...

Der Wichtigste Satz, den man bei Maven lernen muss ist: Konvention über Konfiguration!


foobar hat gesagt.:
Mit Maven kannst du größere Projekte, die aus mehreren Fragmenten bestehen, ziemlich einfach automatisch bauen, Dokus erzeugen etc.
Wenn man die pom's alle hat ist das kein Problem...wehe dem der die erst erstellen muss....vor allem im Rahmen einer Migration von Ant zu Maven....dann ist das alles andere als einfach....


foobar hat gesagt.:
Also ant ist mehr ein Werkzeug um Anwendungen zu bauen und Maven ist eine Logik dahinter
In Maven gibt es bestimmte Abläufe, die aus der Erfahrung heraus abgeleitet wurden. Dass sieht man dann wenn schon einige Ant-Files für größere Projekte gemacht hat...dann hält man sich irgendwann an Konventionen....na ja und dann ist man bei Maven ....(ok nich 100%ig)....

Die Abhängigkeiten bei der Übersetzung kann man aber auch mithilfe von Ivy im Zusammenhang mit Ant lösen....


Achso Literatur: http://www.skmwiki.de/wiki/Maven2
Hier auch der Links zu Sonatype !

EDIT: Im Zusammenhang mit Eclipse ist das Maven PlugIn für Eclipse zu empfehlen..
MfG
Karl Heinz Marbaise
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Unterschied zwischen Denkweisen Java Basics - Anfänger-Themen 13
Ras Unterschied zwischen parser xml and api xml Java Basics - Anfänger-Themen 7
X Was ist der Unterschied zwischen materialisierten und nichtmaterialisierten Attributen einer Klasse? Java Basics - Anfänger-Themen 1
jhCDtGVjcZGcfzug Was ist der Unterschied zwischen diesen Quellcodes? Java Basics - Anfänger-Themen 3
Y Unterschied zwischen WindowBuilder und herkömmlichen erstellen des GUI´s? Java Basics - Anfänger-Themen 9
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
E Unterschied zwischen new und import Java Basics - Anfänger-Themen 5
B Unterschied zwischen (List<T> a) und (T[] a) Java Basics - Anfänger-Themen 7
Aprendiendo Unterschied zwischen Referenzvariable und Instanzvariable. Java Basics - Anfänger-Themen 2
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
schoenosrockos Unterschied zwischen Objekten und vererbungen Java Basics - Anfänger-Themen 1
J Variablen Unterschied zwischen lokalen-, Instanz-, Klassenvariablen Java Basics - Anfänger-Themen 6
L Unterschied zwischen Klassen - und Instanzvarbiablen Java Basics - Anfänger-Themen 1
M Unterschied zwischen Classpath eines Eclipse Projektes und dem CLASSPATH? Java Basics - Anfänger-Themen 3
D Unterschied zwischen double und Double Java Basics - Anfänger-Themen 4
Q Unterschied zwischen static und keinem Modifier Java Basics - Anfänger-Themen 15
K Unterschied zwischen Jar, war und ear Dateien Java Basics - Anfänger-Themen 3
T Unterschied zwischen Integrationstest und JUnit test? Java Basics - Anfänger-Themen 12
K Unterschied zwischen break und continue in einer Schleife Java Basics - Anfänger-Themen 14
A Exakte Unterschied zwischen Java EE und Java SE? Java Basics - Anfänger-Themen 4
J Unterschied zwischen statische und nicht statische Methoden? Java Basics - Anfänger-Themen 14
O Java unterschied zwischen Interface und Interface_Referenzen!!?? Java Basics - Anfänger-Themen 7
J unterschied zwischen awt und swing Java Basics - Anfänger-Themen 6
B Unterschied zwischen String & char Array? Java Basics - Anfänger-Themen 5
B Was ist der unterschied zwischen Singleton und Strategy? Java Basics - Anfänger-Themen 6
B Variablen: unterschied zwischen Klassen und Instanzvariable Java Basics - Anfänger-Themen 2
H Unterschied zwischen 2 Date in Sekunden am einfachsten? Java Basics - Anfänger-Themen 5
tanja Der Unterschied Zwischen Arrays in Java und ADA Java Basics - Anfänger-Themen 11
ModellbahnerTT Unterschied zwischen zwei Frame close Varianten Java Basics - Anfänger-Themen 3
V Unterschied zwischen J2EE und JEE ?? Java Basics - Anfänger-Themen 1
N Was ist der Unterschied zwischen ArrayList und Vector? Java Basics - Anfänger-Themen 3
A Unterschied zwischen Checked und unchecked Exception Java Basics - Anfänger-Themen 3
C Unterschied zwischen Polymorphie und Typcasting Java Basics - Anfänger-Themen 10
G Unterschied zwischen den Datenstrukturen Java Basics - Anfänger-Themen 2
M Unterschied zwischen . Compiler und JIT-Compiler,Hotspot-VM Java Basics - Anfänger-Themen 2
C Unterschied zwischen ArrayList und Vector Java Basics - Anfänger-Themen 2
I_Oscuridad Unterschied zwischen Objektorientiert und prozedural ? Java Basics - Anfänger-Themen 8
G Was ist der unterschied zwischen return und ? Java Basics - Anfänger-Themen 3
G Unterschied zwischen Java 2 bis 6 Java Basics - Anfänger-Themen 12
G Unterschied zwischen SwingWorker und "normalem" Th Java Basics - Anfänger-Themen 3
J Unterschied zwischen 2 Grafik Methoden Java Basics - Anfänger-Themen 2
G unterschied zwischen in.read() und in.read(byte [] b, int. Java Basics - Anfänger-Themen 3
G Unterschied zwischen SQL Timestamp und Java Java Basics - Anfänger-Themen 2
A Unterschied zwischen HashMap und Hashtable Java Basics - Anfänger-Themen 20
G Unterschied zwischen Assoziation, Aggregation u. Komposition Java Basics - Anfänger-Themen 7
G Unterschied zwischen & und && Java Basics - Anfänger-Themen 1
K Unterschied zwischen Color.white und Color.WHITE? Java Basics - Anfänger-Themen 4
A Unterschied zwischen String & Stringbuffer! Java Basics - Anfänger-Themen 14
O Unterschied zwischen static und public Java Basics - Anfänger-Themen 2
G Was ist der Unterschied zwischen length und length()? Java Basics - Anfänger-Themen 7
N Unterschied zwischen Beans finden Java Basics - Anfänger-Themen 2
L Unterschied zwischen Objekten, Arrays und Strings Java Basics - Anfänger-Themen 2
G Unterschied zwischen Integer und int in java Java Basics - Anfänger-Themen 8
C Unterschied zwischen, Applet, Java und JavaScript Java Basics - Anfänger-Themen 3
K gibt es einen unterschied zwischen .JAVA und .java ? Java Basics - Anfänger-Themen 4
ven000m Unterschied zwischen: ADT & generischer Programmierung Java Basics - Anfänger-Themen 2
H Unterschied zwischen Stack und Array Java Basics - Anfänger-Themen 3
M Unterschied zwischen J2SE 5.0 Update x und J2SE 1.4.x Java Basics - Anfänger-Themen 4
C Unterschied zwischen equals und == ? Java Basics - Anfänger-Themen 6
D Unterschied zwischen Referenz auf Objekt/Instanz von Objekt Java Basics - Anfänger-Themen 9
G verstehe den unterschied zwischen equals und == nicht Java Basics - Anfänger-Themen 3
P Unterschied zwischen Interface und Vererbung und Sinn? Java Basics - Anfänger-Themen 5
M Unterschied zwischen J2SE, JSEE und JDK Java Basics - Anfänger-Themen 8
R Unterschied zwischen a++ und ++a Java Basics - Anfänger-Themen 9
G Unterschied zwischen homogenen und heterogenen Liste Java Basics - Anfänger-Themen 9
D Unterschied zwischen Ziffer und Zahl Java Basics - Anfänger-Themen 9
R Unterschied zwischen Integer und int Java Basics - Anfänger-Themen 6
B Was ist der Unterschied zwischen .java- und .class Dateien Java Basics - Anfänger-Themen 3
MoxMorris Integer.MAX_VALUE und Double.MAX_VALUE Unterschied Java Basics - Anfänger-Themen 3
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
berserkerdq2 Größter unterschied von extends thread und implements runnable? Java Basics - Anfänger-Themen 2
P Unterschied Installation von zipped JDK vs Installer-JDK (auf Windows)? Java Basics - Anfänger-Themen 2
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
K Unterschied Information Hiding und Kapselung? Java Basics - Anfänger-Themen 2
G Methoden wo ist der Unterschied?? Java Basics - Anfänger-Themen 11
D Unterschied charAt() substr() Java Basics - Anfänger-Themen 3
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
H .jar unterschied .class Java Basics - Anfänger-Themen 3
O Unterschied Arrays, Listen, Mengen Java Basics - Anfänger-Themen 24
K Unterschied for-Schleife Java Basics - Anfänger-Themen 14
M Schlüsselworte Unterschied: String.matches und Pattern.compile Java Basics - Anfänger-Themen 2
G Unterschied Instanz- Klassenvariable Java Basics - Anfänger-Themen 11
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
H Unterschied BufferedReader und BufferedInputStream Java Basics - Anfänger-Themen 4
N Unterschied von Post- und Preinkrement Java Basics - Anfänger-Themen 3
T Unterschied dynamischer und statischer Laufzeittyp Java Basics - Anfänger-Themen 1
D Unterschied Date - Calendar Java Basics - Anfänger-Themen 1
J Warum ist das ein Unterschied (Integer / int) Java Basics - Anfänger-Themen 2
S Erste Schritte Unterschied "if" und "else if" Java Basics - Anfänger-Themen 27
F Erste Schritte Unterschied: Array "leer" / "null" Java Basics - Anfänger-Themen 3
V Unterschied x++ und x=x++ Java Basics - Anfänger-Themen 6
O Unterschied Baum <-> Automat Java Basics - Anfänger-Themen 2
A Klassen Unterschied Warteschlange, Stapel und Liste Java Basics - Anfänger-Themen 3
M Wo liegt der Unterschied? Deklaration Klasse oder Konstruktur Java Basics - Anfänger-Themen 3
S Unterschied print() und println() Java Basics - Anfänger-Themen 3
S Unterschied .jar Datei ausführen und junit Testfall... Java Basics - Anfänger-Themen 3
S Datentypen Unterschied elementare und zusammengesetzte/strukturierte Datentypen Java Basics - Anfänger-Themen 5
S Unterschied Ausführung in IDE <-> Befehlszeile Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben