Maven testResource 过滤在 pom.xml 中不起作用
Maven testResource filtering is not working in pom.xml
我正在使用 testResource 过滤 pom.xml 中的数据。但是我没有打印数据,而是取回了代码中显示的变量本身。看起来资源过滤没有发生。有人可以告诉我我在这里做错了什么以及如何纠正它。
pom.xml
<project
<properties>
<local.buildNumber>${local.bhuildNumber}</local.buildNumber>
</properties>
<dependencies></dependencies
<build>
<testResources>
<testResource>
<directory>/src/test/java/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins></plugins>
</build>
</project>
global.properties
local.buildNumber=${local.buildNumber}
A.java
public void finish() throws IOException {
Properties prop = new Properties();
FileInputStream fileInput = new FileInputStream("src/test/java/resources/global.properties");
prop.load(fileInput);
String value = prop.getProperty("local.buildNumber");
//it prints ${local.buildNumber} though I am expecting 40
System.out.println(value); }
项目结构:
Project
-src
--main
----java
--test
----java
----resources
------global.properties
--pom.xml
--target/
配置
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
对于加载文件,请尝试使用 ClassLoader class:
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("global.properties").getFile());
System.out.println(file.getAbsolutePath());
我正在使用 testResource 过滤 pom.xml 中的数据。但是我没有打印数据,而是取回了代码中显示的变量本身。看起来资源过滤没有发生。有人可以告诉我我在这里做错了什么以及如何纠正它。
pom.xml
<project
<properties>
<local.buildNumber>${local.bhuildNumber}</local.buildNumber>
</properties>
<dependencies></dependencies
<build>
<testResources>
<testResource>
<directory>/src/test/java/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins></plugins>
</build>
</project>
global.properties
local.buildNumber=${local.buildNumber}
A.java
public void finish() throws IOException {
Properties prop = new Properties();
FileInputStream fileInput = new FileInputStream("src/test/java/resources/global.properties");
prop.load(fileInput);
String value = prop.getProperty("local.buildNumber");
//it prints ${local.buildNumber} though I am expecting 40
System.out.println(value); }
项目结构:
Project
-src
--main
----java
--test
----java
----resources
------global.properties
--pom.xml
--target/
配置
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
对于加载文件,请尝试使用 ClassLoader class:
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("global.properties").getFile());
System.out.println(file.getAbsolutePath());