Это часть моего pom.xml с двумя профилями, которые содержат URL для разных сред:
<profiles>
<profile>
<id>test</id>
<properties>
<environment>yyy</environment>
</properties>
</profile>
<profile>
<id>uat</id>
<properties>
<environment>xxx</environment>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
также у меня есть evironment.properties
файл в src/main/java/resources
с телом:
environment=${environment}
Я запускаю программу с mvn clean test -Ptest
Теперь, как я могу получить доступ к стоимости из моего профиля Maven?
Я создаю читатель класса:
package utils;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class Reader {
public void readProperties() {
Reader app = new Reader();
Properties prop = app.loadPropertiesFile("src\\test\\resources\\properties\\environment.properties");
prop.forEach((k, v) -> System.out.println(k + ":" + v));
}
public Properties loadPropertiesFile(String filePath) {
Properties prop = new Properties();
try (InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream(filePath)) {
prop.load(resourceAsStream);
} catch (IOException e) {
System.err.println("Unable to load properties file : " + filePath);
}
return prop;
}
}
но если я запускаю функцию считывателя в моем тесте, это дает мне NullPointer в:
Reader objReader = new Reader();
objReader.readProperties();
Как я могу получить доступ к своему URL, указанному в профилях?