Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen

Ein eigenes Maven-Plugin zu erstellen ist nicht schwer und ist schnell gemacht. Wir wollen ein Plugin welches einen Verzeichnis Inhalt mit ls -la in das Log schreibt erstellen. Es können aber auch andere Linux Befehle übergeben werden. Hier nun die 6 Schritte mit den Vorlagen die mind. nötig sind.

Freut euch immer
Always rejoice, mit freundlicher Genehmigung meines Lieblingskünstlers

1. Wir legen in Eclipse ein neue Maven Projekt mit Java 1.8 an. mit Artifact Id und Group Id de.wenzlaff.command.maven.plugin

2. In der pom.xml fügen wir die folgenden Abhängikeiten hinzu:

3. Dann brauchen wir noch ein Mojo. Mit einem Parameter, der default das ls -la ausführt.

Dazu die folgende Klasse im Package de.wenzlaff.command.maven.plugin anlegen:

Die Klasse CommandMojo wird von dem AbstractMojo abgeleitet. Es muss nur eine Methode (execute) implementiert werden. Das Projekt sieht nun so aus:

4. Jetzt können wir das Plugin schon bauen mit: mvn clean install

5. Das Plugin testen wir auf der Kommandozeile, indem wir in das Projektverzeichnis wechseln (da wo die pom.xml liegt) und das info Goal aufrufen:

mvn de.wenzlaff.command.maven.plugin:de.wenzlaff.command.maven.plugin:info

Es wird nun das Verzeichnis augegeben und im log geschrieben:

Wenn man einen anderen als den default Parameter haben will, kann der mit -D angegeben werden z.B.

mvn de.wenzlaff.command.maven.plugin:de.wenzlaff.command.maven.plugin:info -Dcommand=“ps“

um alle Prozesse auszugeben.

6. Mit mvn site kann auch leicht der gewohnt Report erzeugt werden: