1

プロパティを他の複数のプロパティのテンプレートとして使用しようとしていますが、初めて機能します。例で示すのがおそらく最も簡単なので、この動作を示す最小限のケースにコードを切り詰めました。

<target name="test">
    <property name="individual.template" value="x@ID@"/>

    <propertyregex property="individual.1" input="${individual.template}" regexp="\@ID\@" replace="1" global="true" override="true"/>
    <echo>====== ${individual.1} ::: ${individual.template}</echo>
    <propertyregex property="individual.2" input="${individial.template}" regexp="\@ID\@" replace="2" global="true" override="true"/>
    <echo>====== ${individual.2} ::: ${individual.template}</echo>
    <propertyregex property="individual.3" input="${individial.template}" regexp="\@ID\@" replace="3" global="true" override="true"/>
    <echo>====== ${individual.3} ::: ${individual.template}</echo>
    <propertyregex property="individual.4" input="${individial.template}" regexp="\@ID\@" replace="4" global="true" override="true"/>
    <echo>====== ${individual.4} ::: ${individual.template}</echo>
    <propertyregex property="individual.5" input="${individial.template}" regexp="\@ID\@" replace="5" global="true" override="true"/>
    <echo>====== ${individual.5} ::: ${individual.template}</echo>
</target>

これはx1、x2などを出力すると思いますが、次のように出力されます。

 [echo] ====== x1 ::: x@ID@
 [echo] ====== ${individual.2} ::: x@ID@
 [echo] ====== ${individual.3} ::: x@ID@
 [echo] ====== ${individual.4} ::: x@ID@
 [echo] ====== ${individual.5} ::: x@ID@

ご覧のとおり、最初のプロパティは問題ありませんが、次のプロパティは設定されていません。最初はテンプレートのプロパティが変更されたと思いましたが、出力からわかるように、そうではありません。私はここで愚かなことをしているだけですか?これはサポートされていませんか?それともバグですか?任意のアイデアをいただければ幸いです。

(Antバージョン1.8.2、ant-contribバージョン1.0b2)。

4

2 に答える 2

3

それは単なるタイプミスです:(個人(個人)

于 2011-12-20T21:33:29.670 に答える
2

@ thor84no、テストケースにコピー/貼り付けエラーが表示されます:のindividual.1/individual.2/individual.3/individual.4/individual.5代わりにの値を出力するべきではありませんindividual.templateか?私はこれらの変更をローカルで行い、出力はあなたが期待したものです:

test:
     [echo] ====== x1 ::: x1
     [echo] ====== x2 ::: x2
     [echo] ====== x3 ::: x3
     [echo] ====== x4 ::: x4
     [echo] ====== x5 ::: x5
于 2011-12-20T19:25:47.913 に答える