我有包含以下内容的全局属性文件(global.properties)
app.server.username=globalUser
我还有一个名为sample.properties的属性文件,具有以下提到的内容
app.server.username=sampleUser
app.server.port=443
现在,我需要使用Maven将app.server.username键值从“ sampleUser”替换为“ globalUser”,并且打包了jar文件。
这2个属性文件位于Java项目的同一文件夹中。
因此,在Maven构建阶段(或在打包阶段),Maven应该引用global.properties,在sample.properties中搜索所有键值对(在其中定义)。并替换所有匹配键的值。
因此,在Maven构建之后,sample.properties文件应具有以下提及的内容
app.server.username=globalUser
app.server.port=443
请建议如何在Maven中进行操作?
答案 0 :(得分:1)
您可以为此使用属性插件,指定要读取的多个文件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>global.properties</file>
<file>sample.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
从我的测试结果来看,后一个文件将导致重复的属性键覆盖前一个。因此,只需确保您的文件以正确的顺序列出即可。