6

Antでは、次のようなことを行う方法はありますか:

<arguments id="arg-list">
    <arg value="arg1" />
    <arg value="arg2" />
</arguments>

<property name="prop1" refid="arg-list" />

psexec 用のマクロを作成しようとしていて、引数リストを渡す良い方法を探しています。

クラスパスでも同様のことができることは知っています...

ありがとう!

4

2 に答える 2

9

あなたの特定の質問に対する答えがわかりません。ドキュメントは、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

ここで祖母に卵を吸うことを教えていないことを願っています。

于 2008-11-12T00:01:53.993 に答える
0

Ant-Contrib Tasks For および ForEach について知っていましたか: http://ant-contrib.sourceforge.net/tasks/tasks/for.html

find task : もあります<find ... delimiter=""/> ... </find>。これにより、リストを作成できます。

于 2011-11-29T14:14:44.233 に答える