我尝试在此线程之后在Maven中使用属性
我创建了一个属性:
<properties>
<application.root.url>http://localhost:8080</application.root.url>
</properties>
添加资源和过滤:
<build>
<resources>
<resource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
使用以下命令将“ test.properties”文件放在src / test / resources目录中:
application.root.url=${project.application.root.url}
在Java中,我有以下内容:
public static Properties getProperties(){
Properties props = new Properties();
try {
props.load(new FileInputStream("test.properties"));
} catch (IOException e){
props = null;
e.printStackTrace();
}
return props;
}
现在,如果有,则会出现new FileInputStream("test.properties")
“找不到文件”异常,如果放new FileInputStream("src/test/resources/test.properties")
,则它将${application.root.url}
作为该属性的值返回application.root.url
我究竟做错了什么?
更新1:好的,现在我已更改${project.application.root.url}
为
${application.root.url}
和
props.load(new FileInputStream("test.properties"));
到
props.load(Util.class.getClassLoader().getResourceAsStream("test.properties"));
现在,我不再遇到“找不到文件”错误。但我仍然有问题,在target/test-classes/test.properties
值不会更改从${application.root.url}
(和target/classes/test.properties
它改变了...)
最后更新:
最后,当我将“资源”更改为“ testResoruces”时,一切都可以正常工作:
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
谢谢大家的建议!
改变
${project.application.root.url}
到
${application.root.url}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句