Adgang til Maven Properties i Java

1. Oversigt

I denne korte tutorial tager vi et kig på, hvordan man bruger variabler defineret inde i Mavens pom.xml fra et Java-program.

2. Plugin-konfiguration

I hele dette eksempel bruger vi Maven Properties Plugin.

Dette plugin binder til generere ressourcer fase og opret en fil, der indeholder de variabler, der er defineret i vores pom.xml under kompilering. Vi kan derefter læse den fil under kørsel for at få værdierne.

Lad os starte med at inkludere pluginet i vores projekt:

 org.codehaus.mojo egenskaber-maven-plugin 1.0.0 genererer ressourcer skriv-projekt-egenskaber $ {project.build.outputDirectory} /properties-from-pom.properties 

Dernæst fortsætter vi med at give en værdi til vores variabel. Desuden, da vi definerer dem inde i pom.xml, kan vi også bruge Maven pladsholdere:

 $ {project.name} ejendom-fra-pom 

3. Læseegenskaber

Nu er det tid til at få adgang til vores ejendom fra konfigurationen. Lad os oprette en simpel hjælpeklasse til at læse egenskaberne fra en fil på klassestien:

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

Dernæst skriver vi simpelthen en lille testcase, der læser vores værdier:

PropertiesReader-læser = ny PropertiesReader ("egenskaber-fra-pom.properties"); Strengegenskab = reader.getProperty ("my.awesome.property"); Assert.assertEquals ("ejendom-fra-pom", ejendom);

4. Konklusion

I denne artikel gennemgik vi processen med at læse værdier defineret i pom.xml ved hjælp af Maven Properties Plugin.

Som altid er al koden tilgængelig på GitHub.