2011-07-13 2 views
2

ビルドの一部として大規模なプロジェクトを構築しています。一部のXMLでパスを定義し、それをインポートする別のXMLでオーバーライドしました(またはファイルそれはそれをインポートする)。 インポートの順序と、インポートするファイル内のオーバーライドされたパスタグの場所が、ビルドの動作を変更することに気付きました。 しかし、私はそれの背後にある論理を見つけることができませんでした。 インポートはどのように正確に機能しますか? ありがとうどのようにインポートファイルのメカニズムがApache ANTで機能するのですか

答えて

0

antプロパティの値は一度設定することはできません。ファイルをインポートすると、ファイルによっていくつかのプロパティが設定されると、インポート後のプロパティの宣言は、インポートされたファイルのプロパティと同じ名前で宣言されても無視されます。

プロパティファイルfooを宣言する外部ファイルfile1.xmlがあるとします。

file1.xml:<property name="foo" value="bar"/>

その後、あなたはfile1.xmlをインポートする場所に関連して、プロパティのfoo事項を宣言し、メインファイル、インチ

はあなたが行うと仮定します。

<import file="file1.xml"/>

<property name="foo" value="baz"/>

次にプロパティfoobarの値を持つことになります。あなたがしなければ 一方、:

<property name="foo" value="baz"/>

<import file="file1.xml"/>

を次にプロパティfooは値bazを持つことになります。

ストーリーの道徳は、それらのプロパティも宣言するファイルをインポートする前に、値を上書きしたいプロパティを定義することです。

antプロパティタスクのドキュメントについては、http://ant.apache.org/manual/Tasks/property.htmlを参照してください。

+0

私の質問は、antのインポートメカニズムであり、プロパティタグではありませんでした。輸入がどのように正確に機能するかは誰にも分かりますか? –

+0

重複するターゲット名に対しても機能しますか? – Nav

関連する問題