1. Información general
En este breve tutorial, veremos cómo usar las variables definidas dentro del pom.xml de Maven desde una aplicación Java.
2. Configuración del complemento
A lo largo de este ejemplo, usaremos el complemento de propiedades de Maven.
Este complemento se vinculará a la fase de generar recursos y creará un archivo que contiene las variables definidas en nuestro pom.xml durante la compilación. Luego podemos leer ese archivo en tiempo de ejecución para obtener los valores.
Comencemos por incluir el complemento en nuestro proyecto:
org.codehaus.mojo properties-maven-plugin 1.0.0 generate-resources write-project-properties ${project.build.outputDirectory}/properties-from-pom.properties
A continuación, continuaremos proporcionando un valor a nuestra variable. Además, dado que los estamos definiendo dentro del pom.xml , también podemos usar marcadores de posición de Maven:
${project.name} property-from-pom
3. Propiedades de lectura
Ahora es el momento de acceder a nuestra propiedad desde la configuración. Creemos una clase de utilidad simple para leer las propiedades de un archivo en la ruta de clases:
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); } }
A continuación, simplemente escribimos un pequeño caso de prueba que lee nuestros valores:
PropertiesReader reader = new PropertiesReader("properties-from-pom.properties"); String property = reader.getProperty("my.awesome.property"); Assert.assertEquals("property-from-pom", property);
4. Conclusión
En este artículo, pasamos por el proceso de lectura de valores definidos en pom.xml usando el complemento de propiedades de Maven.
Como siempre, todo el código está disponible en GitHub.