0

我在资产文件夹中有一个属性文件,我想在项目构建时覆盖此属性文件中的值。像 mvn clean install -Durl= https://xyx.xom

例如:资产/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

但它没有替换,我如何在构建时替换 my_server_url

4

1 回答 1

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>节点来更改它。有关配置资源的更多说明,请参阅此链接

于 2011-09-08T18:49:47.393 回答