Достъп до Maven Properties в Java

1. Общ преглед

В този кратък урок ще разгледаме как да използваме променливи, дефинирани вътре в pom.xml на Maven от Java приложение.

2. Конфигурация на приставката

В този пример ще използваме приставката Maven Properties.

Този плъгин ще се свърже с фазата на генериране на ресурси и ще създаде файл, съдържащ променливите, дефинирани в нашия pom.xml по време на компилацията. След това можем да прочетем този файл по време на изпълнение, за да получим стойностите.

Нека започнем с включването на приставката в нашия проект:

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

След това ще продължим, като предоставим стойност на нашата променлива. Освен това, тъй като ги дефинираме вътре в pom.xml , можем да използваме и заместители на Maven:

 ${project.name} property-from-pom 

3. Свойства за четене

Сега е време за достъп до нашия имот от конфигурацията. Нека създадем прост полезен клас за четене на свойствата от файл в пътя на класа:

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

След това просто напишем малък тестов случай, който чете нашите стойности:

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

4. Заключение

В тази статия преминахме през процеса на четене на стойности, дефинирани в pom.xml, използвайки приставката Maven Properties.

Както винаги, целият код е достъпен в GitHub.