Få tilgang til Maven Properties i Java

1. Oversikt

I denne korte opplæringen tar vi en titt på hvordan du bruker variabler definert i Maven's pom.xml fra et Java-program.

2. Konfigurasjon av programtillegg

Gjennom dette eksemplet vil vi bruke Maven Properties Plugin.

Dette pluginet vil binde seg til generere ressurser fase og opprett en fil som inneholder variablene som er definert i vår pom.xml under kompilering. Vi kan da lese den filen ved kjøretid for å få verdiene.

La oss starte med å inkludere plugin-programmet i prosjektet vårt:

 org.codehaus.mojo egenskaper-maven-plugin 1.0.0 genererer ressurser skrive-prosjekt-egenskaper $ {project.build.outputDirectory} /properties-from-pom.properties 

Deretter fortsetter vi med å gi en verdi til variabelen vår. Videre, siden vi definerer dem inne i pom.xml, kan vi også bruke Maven-plassholdere:

 $ {project.name} eiendom-fra-pom 

3. Leseegenskaper

Nå er det på tide å få tilgang til eiendommen vår fra konfigurasjonen. La oss lage en enkel verktøyklasse for å lese egenskapene fra en fil på klassestien:

offentlig klasse PropertiesReader {private eiendommer; public PropertiesReader (String propertyFileName) kaster IOException {InputStream er = getClass (). getClassLoader () .getResourceAsStream (propertyFileName); this.properties = nye egenskaper (); this.properties.load (is); } offentlig String getProperty (String propertyName) {returner this.properties.getProperty (propertyName); }}

Deretter skriver vi ganske enkelt en liten prøvesak som leser verdiene våre:

PropertiesReader reader = ny PropertiesReader ("eiendommer-fra-pom.properties"); Strengegenskap = reader.getProperty ("my.awesome.property"); Assert.assertEquals ("eiendom-fra-pom", eiendom);

4. Konklusjon

I denne artikkelen gikk vi gjennom prosessen med å lese verdier som er definert i pom.xml ved hjelp av Maven Properties Plugin.

Som alltid er all koden tilgjengelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found