Accesso alle proprietà Maven in Java

1. Panoramica

In questo breve tutorial, daremo un'occhiata a come utilizzare le variabili definite all'interno del pom.xml di Maven da un'applicazione Java.

2. Configurazione del plugin

In questo esempio, utilizzeremo il plug-in Maven Properties.

Questo plugin si legherà alla fase di generazione delle risorse e creerà un file contenente le variabili definite nel nostro pom.xml durante la compilazione. Possiamo quindi leggere quel file in fase di esecuzione per ottenere i valori.

Cominciamo includendo il plugin nel nostro progetto:

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

Successivamente, continueremo fornendo un valore alla nostra variabile. Inoltre, poiché li stiamo definendo all'interno del pom.xml , possiamo utilizzare anche i segnaposto Maven:

 ${project.name} property-from-pom 

3. Proprietà di lettura

Ora è il momento di accedere alla nostra proprietà dalla configurazione. Creiamo una semplice classe di utilità per leggere le proprietà da un file sul classpath:

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); } }

Successivamente, scriviamo semplicemente un piccolo test case che legge i nostri valori:

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

4. Conclusione

In questo articolo, abbiamo esaminato il processo di lettura dei valori definiti nel pom.xml utilizzando il plug-in delle proprietà di Maven.

Come sempre, tutto il codice è disponibile su GitHub.