gpt4 book ai didi

ant - Ant 属性可以解析其他属性吗?

转载 作者:行者123 更新时间:2023-12-03 23:23:46 27 4
gpt4 key购买 nike

Ant 属性可以通过属性文件设置,从属性文件解析其他属性吗?

例如,我可以这样做:

<property name="prop1" value="in_test_xml1" />
<property name="prop2" value="${prop1}" />

和 prop2 变成“in_test_xml1”。那挺好的。

但在这种情况下,当使用输入属性文件时:
prop1=sample_prop
prop2=${prop1}

prop2 未设置为“sample_prop”

因此,从其他属性解析属性似乎只有在解析属性在 ant 文件本身中时才有效。

这是预期的还是我错过了什么?

最佳答案

Ant 确实支持文件内属性扩展,请参阅 Property 手册中的属性文件部分。任务。

以下示例显示属性得到解析:

  • 在单个属性文件中
  • 来自另一个属性文件中的一个属性文件
  • 在构建文件中

  • 第一个属性文件:
    $ cat props1.properties
    prop1=world
    prop2=hello ${prop1}

    第二个属性文件:
    $ cat props2.properties
    prop3=goodbye ${prop1}

    构建文件:
    <project default="test">
    <property file="props1.properties"/>
    <property file="props2.properties"/>
    <property name="prop4" value="${prop3}, good luck"/>
    <target name="test">
    <echo message="prop1 = ${prop1}"/>
    <echo message="prop2 = ${prop2}"/>
    <echo message="prop3 = ${prop3}"/>
    <echo message="prop4 = ${prop4}"/>
    </target>
    </project>

    输出:
    $ ant
    Buildfile: build.xml

    test:
    [echo] prop1 = world
    [echo] prop2 = hello world
    [echo] prop3 = goodbye world
    [echo] prop4 = goodbye world, good luck

    BUILD SUCCESSFUL
    Total time: 0 seconds

    是否有另一种对您不起作用的属性(property)解决方案?

    编辑

    根据您的评论,我现在了解到您正在使用 -propertyfile命令行选项来指定一个供 Ant 加载的属性文件(而不是像我上面那样在构建文件本身中指定文件)。

    我对此进行了快速测试,发现 Ant 1.7.1 没有对使用该命令行选项加载的文件进行文件内属性扩展。但是 Ant 1.8.2 可以。

    这是 Ant Bug 18732 .您应该能够通过更新您的 Ant 版本来解决。

    关于ant - Ant 属性可以解析其他属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267113/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com