Maven / Gradle

Die kleinen Helfer für den automatisierten Build.

Maven verfolgt einen deklarativen Ansatz, der durch "Konvention vor Konfiguration" mittels vorgefertigter Phasen den Entwicklern in den häufigsten Fällen viel Arbeit abnimmt (verglichen mit z.B. ant). Weil sich auch Abhängigkeiten mit Maven gut managen lassen, ist es auch in sehr vielen Kundenprojekten im Einsatz.

Die Automatisierung des Builds schafft neue Möglichkeiten, Feedbackschleifen zu etablieren. So werden vor dem Erzeugen des auszuliefernden Artefakts verschiedene Qualitätsprüfungen ausgeführt, zum Beispiel die automatisierten Tests oder auch die statische Code-Analyse. Zusätzlich zu vorhandenen Plugins für Maven hat auch andrena zwei Werkzeuge beigesteuert (die Links dazu finden Sie unten):

  • Maven-Plugin, um Paketzyklen zu verhindern
  • Maven-Plugin, um Architektur-Richtlinien automatisiert zu prüfen

Gradle bietet eine DSL an, mit der die Automatisierung des Builds kompakt formuliert werden kann. Für den Fall besonderer, nicht direkt vom Framework vorgesehener, Anforderungen an den Build zeigt Gradle gegenüber Maven Vorteile. Denn mit Gradle sind Erweiterungen oder komplexe Anforderungen einfacher machbar. Als Standard im Android Umfeld hat sich Gradle auch bereits in vielen Projekten etabliert.

Unabhängig davon, welches Werkzeug für die Automatisierung eingesetzt wird, ist es wichtig, einen zentralen Buildserver zu verwenden. Im Java-Umfeld sind das üblicherweise Jenkins oder Gitlab CI.

Sebastian Butzek, Softwareentwickler

"Maven hat mich bisher in fast allen meiner Projekteinsätze begleitet. Es bietet für Java Anwendungen eine solide und weitverbreitete Grundlage für einen stabilen Buildprozess, der sich leicht zu Continuous Integration und Continuous Delivery erweitern lässt.

Der größte Vorteil von Maven ist neben der Tatsache, dass fast jeder Entwickler mit den Konzepten vertraut ist, seine Modularität: Ob althergebrachter Monolith oder Microservice Architektur in der Cloud, jede Architektur wird unterstützt. Für fast alles findet sich ein konfigurierbares Maven-Plugin - und falls nicht, kann es kurzerhand selbst entwickelt werden!"

Links zu Plug-Ins

 

Artikel zum Download
Paketzyklen - Diagnose, Therapie

 

Vorträge (Links zu externen Seiten)

 

Artikel (Links zu externen Seiten)