【发布时间】:2019-11-30 17:04:22
【问题描述】:
我想在运行 mvn 测试时从 pom.xml 更新 application.properties 文件值。 值必须在运行时从 pom.xml 传递到 application.properties pom.xml
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/phomeTestNg.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<resources>
<resource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
application.properties 文件 gapp=${project.build.sourceEncoding}
java代码
FileReader reader=new
FileReader(System.getProperty("user.dir")+"\\src\\test\\resources\\application.properties");
Properties p=new Properties();
p.load(reader);
System.out.println("Properties "+p.getProperty("gapp"));
文件夹结构
【问题讨论】:
-
这是一个 Spring Boot 应用程序吗?
-
不,这是简单的 maven 项目
-
首先通过类路径而不是通过 FileReader 加载您的属性,因为这在 jar 中不起作用...所以最好使用
this.getClass().getResourceAsStream("/application.properties)。其次,您希望从 pom 文件中更新哪种值?