Donnerstag, 12. September 2013

Apache Maven und seine Einsatzmöglichkeiten

Apache Maven

Wir lassen uns in jeder Phase der Softwareentwicklung von Maven unterstützen.

Maven managt Abhängigkeiten

In Java-Projekten verwendet man in der Regel eine Vielzahl von Bibliotheken und Frameworks. Das führt Abhängigkeiten in das Projekt ein. In den frühen Tagen kam es häufig zu Konflikten. Projekt A hängt von Bibliothek B und Framework C ab. Framework C setzt wiederum Bibliothek B in einer bestimmten Version voraus, die man selbst aber nicht verwenden möchte.

In größeren Projekten, die intensiv Gebrauch von den bereits fertigen Bausteinen macht, können sich diese Probleme häufen und zu sehr schwer zu analysierenden Fehlersituationen führen.

Maven macht diese Abhängigkeiten transparent, zeigt frühzeitig Konflikte und unterstützt darin, sie zu behandeln.

Sind die Abhängigkeiten angegeben, organisiert Maven den Download aller benötigter Artefakte - vom ausführbaren Java-Code bis hin zu den zugehörigen Quelltexten.

Maven baut die Artefakte

In Maven läßt sich beschreiben, was, durch welches Tool, in welcher Reihenfolge geschehen soll. Konfiguriert man es nicht, geschieht in der Regel einfach das Richtige, denn Maven arbeitet sehr strikt nach dem Prinzip Konvention vor Konfiguration.

Sind Mavens Bordmittel erschöpft ohne dass eine Lösung für eine eher spezielle Situation gefunden wurde, schreiben wir eben unsere eigenen Plugins.

Maven führt lokale Tests aus

Nach dem ausführen des build-Verfahrens führt Maven automatisch die verfügbaren Tests aus. Schlagen Tests fehl, bekommt der Entwickler sofortige Rückmeldung zur Problembehebung. Kein Artefakt, das diese Tests nicht passiert, kann weiterverarbeitet werden.

Maven archiviert und organisiert

Fertige Artefakte können - mit automatisch aktualisierter Versionsnummer - in einem Repository abgelegt werden.

Von hier aus stehen sie für die Einbindung in andere Projekte bereit oder für das Deployment auf Zielsysteme.

Gerne setzen wir auch Ihre Projekte mit Maven um.

comments powered by Disqus

Lesen Sie weiter:

Automatisiertes Deployment

Wir fassen das Deployment als Prozess-Schritt in unserem Software-Entwicklungsprozess auf, den wir gleichermaßen dem Qualitätsmanagement unterwerfen. Automatisches Deployment ist dabei unverzichtbar.