Das Build-tool Maven ist in vielen Java Projekten seit Jahrzehnten ein wichtiger Bestandteil des Softwareerstellungsprozesses. Seit der Version 3 hat sich an Mavens Feature-Set relativ wenig getan. Außer ein paar kleineren Innovationen und Verbesserungen, gab es keine großen Änderungen u.a. aus Gründen der Robustheit und Rückwärtskompatbilität. Mit der kommenden Maven Version 4 haben die Entwickler das Projekt auf eine neue Basis gestellt, die zahlreiche neue Möglichkeiten eröffnet. Über genau diese neuen Möglichkeiten und Verbesserungen wird uns niemand geringerer als Karl-Heinz Marbaise, Maven Project Chairman und Maintainer in diesem JUGSaar Meetup berichten. Wir freuen uns auf seinen Besuch :)
/Abstract
// german, english version below
Während sich Apache Maven Version 4.0.0 derzeit in der Beta-Phase befindet, gibt es auch eine Maven 3.9.X-Version. In der Zwischenzeit möchte ich die verschiedenen Verbesserungen von Apache 4.0.0 anhand von Beispielen vorstellen. Welche Verbesserungen und Anpassungen wurden bisher in Apache Maven 4.0.0 vorgenommen und welche Vorteile bietet die neue Hauptversion im Vergleich zu Maven 3.X?
Zum Beispiel, wie z. B. Consumer vs. Build-Pom. Oder die Verbesserung des Reaktorverhaltens, insbesondere für Builds mit mehreren Modulen. Vereinfachte Verwendung von Versionen in Projekten mit mehreren Modulen sowie weitere kleine Verbesserungen (WARNINGs vs. ERRORs). Weitere Verbesserungen für die Plugin-Konfiguration usw. Welche Änderungen können zu Problemen führen? Was kann getan werden, um ein aktuelles Maven 3.X-basiertes Projekt für die Erstellung mit Maven 4.X zu migrieren?
Wir freuen uns wieder auf einen interessanten Abend :)
Hinweis: Vortrag und Slides werden auf Wunsch auf englisch sein.
/Bio
Karl Heinz Marbaise arbeitet als freiberuflicher DevOps Engineer im Java-Umfeld. Dies umfasst Entwicklungen in Java (Spring Boot, JUnit Jupiter usw.) und die Entwicklung von Tools zur Prozessunterstützung in Go. Im Bereich Build- und Konfigurationsmanagement (Maven, Jenkins, Nexus, Git) führt er seit Jahren Schulungen durch. In seiner Freizeit arbeitet er an verschiedenen Open-Source-Projekten, darunter das Apache Maven-Projekt. Er hält Vorträge zu verschiedenen Themen auf unterschiedlichen Veranstaltungen. Er ist Mitglied der Apache Software Foundation und derzeit Vorsitzender von Apache Maven.
// english
The build tool Maven has been an essential part of the software development process in many Java projects for decades. Since version 3, Maven's feature set has changed relatively little. There have been no significant changes except for a few minor innovations and improvements, partly due to robustness and backward compatibility. With the upcoming Maven version 4, the developers have put the project on a new basis, opening up numerous possibilities. Karl-Heinz Marbaise, Maven Core Committer, and Maintainer will discuss these new possibilities and improvements in this JUGSaar Meetup.
We are looking forward to his visit :)
/Abstract
While Apache Maven version 4.0.0 is currently in beta stage, there is also a Maven 3.9.X release. In the meantime, I would like to present the different improvements of Apache 4.0.0 with the help of examples. What improvements and customizations have been made so far in Apache Maven 4.0.0 and what are the advantages of the new major release compared to Maven 3.X ?
For example, such as consumer vs. build pom. Or the improvement of the reactor behavior, especially for multi-module builds. Simplified usage of versions within multi module projects also other small improvements (WARNINGs vs. ERRORs). Further improvements for plugin configuration etc. Finally what are the potential breaking changes? What can be done to migrate a current Maven 3.X based project to be build with Maven 4.X ?
We are looking forward to another interesting evening :)
Note: Talk and slides will be in English.
/Bio
Karl Heinz Marbaise works as a freelance DevOps Engineer in the Java environment. This includes developments in Java (Spring Boot, JUnit Jupiter, etc.) and the development of tools for process support in Go. In the area of build and configuration management (Maven, Jenkins, Nexus, Git) he has been conducting trainings for years. In his spare time he works on various open source projects including the Apache Maven project. He gives talks on various topics at different events. He is Apache Software Foundation Member and currently The Apache Maven Chairman.