Antでは、次のようなことを行う方法はありますか:
<arguments id="arg-list">
<arg value="arg1" />
<arg value="arg2" />
</arguments>
<property name="prop1" refid="arg-list" />
psexec 用のマクロを作成しようとしていて、引数リストを渡す良い方法を探しています。
クラスパスでも同様のことができることは知っています...
ありがとう!
あなたの特定の質問に対する答えがわかりません。ドキュメントは、refid が「構造やプロパティなどの PATH への参照に対して妥当な結果のみを生成する」ことを明確にしています。
あなたがやろうとしていることについてもう少し情報がなければ、コメントするのは難しい. 質問に答えるのではなく、デザインを変更するリスクを冒して、次のことをお勧めします。
1) 引数リストを行として exec に渡すことができます:
<macrodef name="example">
<attribute name="args"/>
<sequential>
<exec executable="example.exe">
<arg value="somearg" />
<arg line="@{args}"/>
</exec>
</sequential>
</macrodef>
<example args="somearg arg1 arg2"/>
example.exe を実行します:
example.exe arg1 arg2
2) 次のように、外部アプリを呼び出すマクロに引数を渡します。
<macrodef name="example">
<element name="params" optional="yes" implicit="yes"/>
<sequential>
<exec taskname="eg" executable="example.exe">
<arg value="somearg" />
<params />
</exec>
</sequential>
</macrodef>
<example>
<arg value="arg1"/>
<arg value="arg2"/>
</example>
これにより、example.exe が実行されます。
example.exe somearg arg1 arg2
ここで祖母に卵を吸うことを教えていないことを願っています。
Ant-Contrib Tasks For および ForEach について知っていましたか: http://ant-contrib.sourceforge.net/tasks/tasks/for.html
find task : もあります<find ... delimiter=""/> ... </find>
。これにより、リストを作成できます。