Zugriff auf Maven-Eigenschaften in Java

1. Übersicht

In diesem kurzen Tutorial sehen wir uns an, wie Variablen verwendet werden, die in Mavens pom.xml aus einer Java-Anwendung definiert sind.

2. Plugin-Konfiguration

In diesem Beispiel verwenden wir das Maven Properties Plugin.

Dieses Plugin wird an die Phase " Ressourcen generieren" gebunden und erstellt während der Kompilierung eine Datei mit den in unserer Datei " pom.xml" definierten Variablen . Wir können diese Datei dann zur Laufzeit lesen, um die Werte zu erhalten.

Beginnen wir damit, das Plugin in unser Projekt aufzunehmen:

 org.codehaus.mojo properties-maven-plugin 1.0.0   generate-resources  write-project-properties   ${project.build.outputDirectory}/properties-from-pom.properties     

Als Nächstes geben wir unserer Variablen einen Wert. Da wir sie in der Datei pom.xml definieren , können wir außerdem Maven-Platzhalter verwenden:

 ${project.name} property-from-pom 

3. Eigenschaften lesen

Jetzt ist es Zeit, über die Konfiguration auf unser Eigentum zuzugreifen. Erstellen wir eine einfache Dienstprogrammklasse, um die Eigenschaften aus einer Datei im Klassenpfad zu lesen:

public class PropertiesReader { private Properties properties; public PropertiesReader(String propertyFileName) throws IOException { InputStream is = getClass().getClassLoader() .getResourceAsStream(propertyFileName); this.properties = new Properties(); this.properties.load(is); } public String getProperty(String propertyName) { return this.properties.getProperty(propertyName); } }

Als nächstes schreiben wir einfach einen kleinen Testfall, der unsere Werte liest:

PropertiesReader reader = new PropertiesReader("properties-from-pom.properties"); String property = reader.getProperty("my.awesome.property"); Assert.assertEquals("property-from-pom", property);

4. Fazit

In diesem Artikel haben wir den Prozess des Lesens der in der pom.xml definierten Werte mit dem Maven Properties Plugin durchlaufen .

Wie immer ist der gesamte Code auf GitHub verfügbar.