【问题标题】:Echo Ant property to a File将 Ant 属性回显到文件
【发布时间】:2011-07-25 16:28:47
【问题描述】:

我在将属性回显到文件时遇到问题。我很确定有一些我现在无法发现的拼写错误,或者我缺少一些概念。目标是:

<target name="war" depends="build">
    <propertyfile file="project-version.properties">
        <entry key="build.version" type="int" operation="+" value="1"/>
    </propertyfile>
    <echo file="WebContent/version.txt">${major.version}.${minor.version}.${build.version}</echo>
    <war destfile="dist/system.war" webxml="WebContent/WEB-INF/web.xml">
        <fileset dir="WebContent"/>
        <classes dir="target/classes"/>
    </war>
</target>

它会从文件 project-version.properties 中正确更新密钥 build.version:

#Tue Mar 29 19:14:18 BRT 2011
build.number=3
major.version=1
build.version=16
minor.version=0

但是输出的version.txt是:

${major.version}.${minor.version}.${build.version}

【问题讨论】:

    标签: ant build-process build-automation


    【解决方案1】:

    propertyfile 任务不会将属性加载到脚本中,这就是为什么当您尝试输出它们时,ant 无法将它们扩展为任何值。

    要解决这个问题,您可以在更新后加载 project-version.properties 文件。

    <target name="war" depends="build">
       <propertyfile file="project-version.properties">
           <entry key="build.version" type="int" operation="+" value="1"/>
       </propertyfile>
       <property file="project-version.properties" />
       <echo file="WebContent/version.txt">${major.version}.${minor.version}.${build.version}</echo>
       <war destfile="dist/system.war" webxml="WebContent/WEB-INF/web.xml">
           <fileset dir="WebContent"/>
           <classes dir="target/classes"/>
       </war>
    </target>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-31
      • 2023-04-04
      • 2016-09-08
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多