Was es macht
Maven ist ein "Build-Management-Tool", mit dem definiert wird, wie Ihre .java
Dateien kompiliert .class
, in .jar
(oder .war
oder .ear
) Dateien gepackt, (vor / nach) mit Tools verarbeitet, verwaltet CLASSPATH
und alle anderen Arten von Aufgaben verwaltet werden, die erforderlich sind Bauen Sie Ihr Projekt. Es ähnelt Apache Ant oder Gradle oder Makefiles in C / C ++, versucht jedoch, vollständig in sich geschlossen zu sein, sodass Sie keine zusätzlichen Tools oder Skripte benötigen sollten, indem Sie andere allgemeine Aufgaben wie das Herunterladen und Installieren der erforderlichen Bibliotheken usw. einbeziehen.
Es basiert auch auf dem Thema "Build-Portabilität", sodass Sie keine Probleme bekommen, wenn derselbe Code mit demselben Buildscript auf einem Computer funktioniert, aber nicht auf einem anderen (dies ist ein bekanntes Problem, wir haben VMs von Windows 98 Maschinen, da wir einige unserer Delphi-Anwendungen nirgendwo anders kompilieren konnten). Aus diesem Grund ist es auch die beste Möglichkeit, an einem Projekt zwischen Personen zu arbeiten, die unterschiedliche IDEs verwenden, da IDE-generierte Ant-Skripte schwer in andere IDEs zu importieren sind, aber heutzutage verstehen und unterstützen alle IDEs Maven ( IntelliJ , Eclipse und NetBeans) ). Auch wenn Sie Maven nicht mögen, ist es der Bezugspunkt für alle anderen modernen Build-Tools.
Warum sollten Sie es verwenden
Es gibt drei Dinge an Maven, die sehr nett sind.
Maven lädt (nachdem Sie angegeben haben, welche Sie verwenden) automatisch alle von Ihnen verwendeten Bibliotheken und die von ihnen für Sie verwendeten Bibliotheken herunter . Das ist sehr schön und macht den Umgang mit vielen Bibliotheken lächerlich einfach. Auf diese Weise können Sie die "Abhängigkeitshölle" vermeiden . Es ist ähnlich wie Apache Ant's Ivy .
Es wird " Konvention über Konfiguration " verwendet, sodass Sie standardmäßig nicht die Aufgaben definieren müssen, die Sie ausführen möchten. Sie müssen keinen "Kompilierungs" -, "Test" -, "Paket" - oder "Bereinigungs" -Schritt schreiben, wie Sie dies in Ant oder einem Makefile tun müssten. Legen Sie die Dateien einfach an die Stellen, an denen Maven sie erwartet, und es sollte sofort funktionieren.
Maven hat auch viele nette Plug-Ins, die Sie installieren können und die viele Routineaufgaben von der Generierung von Java-Klassen aus einem XSD-Schema mit JAXB bis zur Messung der Testabdeckung mit Cobertura erledigen . Fügen Sie sie einfach zu Ihrem hinzu pom.xml
und sie werden in alles integriert, was Sie tun möchten.
Die anfängliche Lernkurve ist steil, aber (fast) jeder professionelle Java-Entwickler verwendet Maven oder wünscht sich dies. Sie sollten Maven für jedes Projekt verwenden, obwohl Sie sich nicht wundern sollten, wenn Sie eine Weile brauchen, um sich daran zu gewöhnen, und wenn Sie manchmal wünschen, Sie könnten die Dinge einfach manuell erledigen, da das Lernen von etwas Neuem manchmal weh tut. Sobald Sie sich jedoch wirklich an Maven gewöhnt haben, werden Sie feststellen, dass das Build-Management fast keine Zeit in Anspruch nimmt.
Wie man anfängt
Der beste Startpunkt ist " Maven in 5 Minuten ". Damit können Sie mit einem Projekt beginnen, in dem Sie alle erforderlichen Dateien und Ordner einrichten können (ja, ich empfehle zumindest zunächst die Verwendung des Schnellstart-Archetyps).
Nachdem Sie begonnen haben, möchten Sie besser verstehen, wie das Tool verwendet werden soll. Dafür ist " Better Builds with Maven " der gründlichste Ort, um zu verstehen, wie es funktioniert. " Maven: The Complete Reference " ist jedoch aktueller. Lesen Sie den ersten zum Verständnis, aber verwenden Sie dann den zweiten als Referenz.