我在资产文件夹中有一个属性文件,我想在项目构建时覆盖此属性文件中的值。 比如mvn clean install -Durl = https://xyx.xom?
EX:assets / my_prop.properties
# my_server_url=http://www.test.com/
change to
my_server_url=${url}
我想在构建时替换my_server_url值,我做了什么: mvn clean install -Durl = http://xys.com
但它没有替换,如何在执行buid时替换my_server_url
答案 0 :(得分:0)
在您的pom中,在<build>
节点内,您需要启用这样的过滤:
<build>
<resources>
<resource>
<directory>assets</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>assets</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</resource>
</resources>
...
</build>
完成后,您可以通过运行来测试:
mvn resources:resource -Durl=http://www.test.com/
请注意,排除部分是因为您不希望Maven过滤资产目录中可能包含的任何二进制文件。如果您没有该部分,它通常会通过尝试过滤它们来破坏任何二进制文件。
通过配置它的方式,过滤后的属性文件将进入目标/类,这可能是您不想要的。您可以通过添加<targetPath>
节点来更改它。有关配置资源的更多说明,请参阅this link。