【问题标题】:maven-android-plugin passing build propertiesmaven-android-plugin 传递构建属性
【发布时间】:2011-09-08 17:47:27
【问题描述】:

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

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

【问题讨论】:

    标签: android maven maven-plugin android-maven-plugin


    【解决方案1】:

    在您的 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 过滤您可能在资产目录中拥有的任何二进制文件。如果您没有该部分,则通常会通过尝试过滤任何二进制文件来破坏它们。

    通过这种配置方式,过滤后的属性文件将进入您可能不想要的目标/类。您可以通过添加 &lt;targetPath&gt; 节点来更改它。有关配置资源的更多说明,请参阅this link

    【讨论】:

      猜你喜欢
      • 2018-02-05
      • 2012-09-28
      • 2017-12-24
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多