我使用maven pom.xml(刚开始学习)
我有一些.properties文件(例如:log4j.properties),我应该能够在pom.xml或web.xml文件中检索它们的值,我的意思是如果我使用类似$ {somename的东西。在pom.xml或web.xml中,应该从.properties文件中检索此值。
我的属性文件如下:
src/main/resources/log4j.properties
src/main/env/dev/config.properties
我尝试如下,但无法从属性文件中检索值..我做错了。
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/env/dev</directory>
<filtering>true</filtering>
</resource>
</resources>
请建议我。
答案 0 :(得分:0)
资源过滤旨在在pom.xml中设置属性,然后在属性文件中使用它。
使用log4j.properties中的$ {somename.version}和pom.xml中的相应代码,$ {somename.version}将替换为您在pom.xml中输入的内容
例如在pom.xml里面
<property>
<name>somename.version</name>
<value>123</value>
</property>
$ {somename.version}将被123替换
启动mvn包后,您将在目标目录中找到包含替换值的文件
使用配置文件打包时,将使用资源过滤。每个配置文件都可以更改pom.xml中的属性
您的属性可以保存随环境变化的值,例如Windows配置或Linux配置
答案 1 :(得分:0)
您的配置错误,用于从文件使用中读取属性:
<filters>
<filter>src/main/resources/log4j.properties</filter>
</filters>
您的实际配置是关于应过滤哪些文件。
有关更多信息和示例请访问:Maven Resource Plugin - Filtering
您也可以使用Properties Maven Plugin