Verwendung des Maven Exec Plugins zum Ausführen von Java-Programmen
Das Maven Exec Plugin ist ein vielseitiges Tool, mit dem Sie Java- und Systemprogramme direkt aus Ihrem Maven-Build-Prozess ausführen können. In diesem Tutorial erfahren Sie, wie Sie das Plugin konfigurieren und verwenden, wobei der Schwerpunkt auf dem Ziel exec:java
liegt, mit dem ein Java-Programm innerhalb derselben JVM auszuführen sind.
Das Maven Exec Plugin bietet zwei Hauptziele:
- exec:exec: Führt ein beliebiges externes Programm in einem separaten Prozess aus.
- exec:java: Führt ein Java-Programm innerhalb derselben virtuellen Maschine (VM) wie der Maven-Build aus.
In diesem Tutorial konzentrieren wir uns auf die Einrichtung und Verwendung des Ziels exec:java
.
Schritt 1: Konfigurieren des Plugins in pom.xml
Um das Maven Exec Plugin zu verwenden, muss es zuerst im build
-Abschnitt Ihrer pom.xml
-Datei konfiguriert werden. Unten finden Sie ein Beispiel für die erforderliche Konfiguration:
org.codehaus.mojo
exec-maven-plugin
1.6.0
com.example.maven.utils.BuildInfo
Der entscheidende Teil dieser Konfiguration ist das Element <mainClass>
, in dem der vollständig qualifizierte Name der Java-Klasse angegeben wird, die vom Ziel exec:java
ausgeführt werden soll.
Schritt 2: Schreiben der Java-Klasse
Hier ist eine Beispiel-Java-Klasse BuildInfo
, die die Java-Version und die aktuelle Uhrzeit ausgibt:
package com.example.maven.utils;
import java.time.LocalDateTime;
public class BuildInfo {
public static void main(String[] args) {
String javaVersion = Runtime.version().toString();
String time = LocalDateTime.now().toString();
System.out.println("********\nBuild Time: " + time
+ "\nJava Version: " + javaVersion + "\n********");
}
}
Schritt 3: Ausführen des Builds mit dem Ziel exec:java
Sobald das Plugin konfiguriert und die Java-Klasse geschrieben ist, können Sie den Maven-Build mit dem folgenden Befehl ausführen:
mvn exec:java
Nach erfolgreicher Ausführung sollte die Ausgabe in etwa wie folgt aussehen:
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------< com.example.maven:maven-demo >---------------
[INFO] Building maven-demo 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ maven-demo ---
********
Build Time: 2024-11-18T14:30:00
Java Version: 17.0.7
********
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.721 s
[INFO] Finished at: 2024-11-18T14:30:00+01:00
[INFO] ------------------------------------------------------------------------
Zusammenfassung
Das Maven Exec Plugin vereinfacht das Ausführen von Java-Programmen direkt aus Ihrem Maven-Build. Durch die korrekte Konfiguration des Plugins in pom.xml
und die Angabe der Java-Klasse im Element <mainClass>
können Sie Java-Code schnell und ohne zusätzliche Skripte oder Tools ausführen. Diese Funktionalität ist besonders nützlich für Aufgaben wie das Testen, die Validierung von Build-Informationen während der Entwicklung, die Automatisierung sich wiederholender Aufgaben oder die Integration benutzerdefinierter Logik in Ihren Build-Prozess. Das Tool gewährleistet einen nahtlosen und effizienten Workflow und ist ein unverzichtbares Werkzeug für alle Entwickler, die komplexe Java-Projekte verwalten.