Java Build-Tools - Erfahrungen und Eindrücke zu Maven und Ant
Verfasst von henning am Sa, 2008-01-26 07:14
in
Aus aktuellen Anlass - siehe Thread "Ansätze zu Projekt-Strukturen" bei der JugHH - habe ich mal ein paar Eindrücke, die ich so vom Einsatz der beiden beliebtesten Build-Tools habe, notiert.
Sicherlich unvollständig und subjektiv - aber teilweise von Team-Kollegen aus Projekten bestätigt.
Und klar, es gibt für alles eine (mehr oder weniger aufwändige) Abhilfe - aber wieso kein Tool, das "out of the Box" nur die positiven Eigenschaften der beiden Dinger verbindet?
Ich bin an Kommentaren interessiert, an den Erfahrungen anderer, und kann auf Nachfrage natürlich einzelne Punkte erläutern...
Ant:
"Fazit"(falls man es so nennen kann): optimal ist irgendwie keines von beiden, und daher wird mir beim nächsten Mal, wenn ich mich für eines entscheiden muss beim Aufsetzen eines neuen Projektes, die Entscheidung nicht gerade leicht fallen.
Was ist mit
Hat sich die mal jemand angeschaut?
Sicherlich unvollständig und subjektiv - aber teilweise von Team-Kollegen aus Projekten bestätigt.
Und klar, es gibt für alles eine (mehr oder weniger aufwändige) Abhilfe - aber wieso kein Tool, das "out of the Box" nur die positiven Eigenschaften der beiden Dinger verbindet?
Ich bin an Kommentaren interessiert, an den Erfahrungen anderer, und kann auf Nachfrage natürlich einzelne Punkte erläutern...
Ant:
- Guter und stabiler IDE Support(insbesondere Eclipse)
- relativ leicht erweiterbar durch Python-Scripting (kann nervig werden und schwer zu debuggen) und Schreiben eigener Tasks (ist dann ein bisschen mehr Aufwand
- Eigentlich alle Funktionen gut und umfangreich dokumentiert. Frei und online, und als Printversion.
- Erfordert keine weitere Infrastruktur
- Die genutzten Bibliotheken sind ganz klar und fest definiert - dafür hat man, wenn man in einer Firma mehrere Java-Projekte hat, halt auch viele Redundanzen und Binaries im SCM.
- Volle Flexibilität - man muss aber auch alles selbst machen - man kann natürlich Vorlagen entwickeln und nutzen - aber die kommen auch nicht von selbst
- Von Projekt zu Projekt unterschiedlich aussehende Projektverzeichnisse
- Ist aber auch eine Frage der Disziplin. Und Evolution und Weiterentwicklung will man ja auch nicht verbieten.
- Build-Files werden sehr komplex - man kann sie aber auch gut strukturieren und regelmäßiges Refactoring ansetzen
- Eclipse Support eher so la la - andereseits - was geht, das geht. Aber das Maven 1 Plugin war irgendwie besser, hatte auch Eingabehilfen für die ganzen Projekteigenschaften, die man jetzt alle im XML händisch eingeben muss. Das von vielen genutzte MyEclipse unterstützt es (bis zum letzten mal, als ich reingeschaut habe) auch noch nicht
- Saubere Projektstruktur vorgegeben - aber: wo ist mein "doc" Verzeichnis mit README.txt und anderen wichtigen, schnell zugreifbaren Infos in Plaintext - stattdessen gibt's src/site/resources/...
Und woher wissen die Maven Entwickler, was für mich das Beste ist? - Viele wichtige Funkionen für den Build-Zyklus mitgeliefert - will man diese aber anpassen, geht dies teilweise nur, wenn der Plugin-Entwickler das vorgesehen hat - wenn nicht, muss man schon etwas tiefer einsteigen.
- Doku für das Tool selbst und die Plugins nicht so umfangreich und gut wie bei Ant. Und: gibt es ein(gutes und aktuelles) Buch in Druckform? Wie viele davon?
- Will man genau kontrollieren, welche Bibliotheken man für das ganze Projekt nutzt (zum Beispiel verhindern, irgendwelche Snapshots und Alpha-Versionen zu nutzen), hat man einiges zu tun.
- Auschecken und sofort geht nur, wenn man Internet hat, oder einen kompletten Mirror aller wichtigen/genutzten Maven Repositories(und auch oder gerade bei großen Firmen gibt es manchmal Probleme, "mal eben" einige GB und einen Server für einen Mirror zu bekommen.
"Fazit"(falls man es so nennen kann): optimal ist irgendwie keines von beiden, und daher wird mir beim nächsten Mal, wenn ich mich für eines entscheiden muss beim Aufsetzen eines neuen Projektes, die Entscheidung nicht gerade leicht fallen.
Was ist mit
Hat sich die mal jemand angeschaut?
- henning's blog
- Anmelden um Kommentare zu schreiben
- 2247 Aufrufe
Neueste Blogeinträge
- Kobo Reader - Schnelltest
- Samsung Galaxy Tab - erste Eindrücke
- Running Redmine issue tracker on Apache Tomcat
- Recover an encrypted-lvm-root system from broken boot partition
- What I like about different programming languages
- Glassfish Webspace Server
- N810 - erste Erfahrungen
- JFormdesigner: Umbenennen einer Klasse
- Blogfaul, Community Comparison, Virtualisierung und die Wolke, Java-OpenOffice
- Oracle auf Shopping Tour
- henningsprang: @uniwave solange Samsung es nicht hinbekommt, den Datenspeicher wieder per USB Mass Storage anzubinden sind die irrelevant für mich.
- henningsprang: @lenovo all running windows, no Android?
- henningsprang: RT @thomasfuchs The sweet sound of chainsaws in the morning.
- henningsprang: @gethash positiv denken! Solange Du schöne Musik lauschst musst Du nicht mit inkompetentem Mitarbeiter sprechen der Dir Handbuch vorliest!
- henningsprang: @HolgerSchmidt gibt es eine sinnvolle Definition von Cloud Computing anhand derer man solche Daten sauber erheben kann?