ant - 如何在ant的<macrodef>中<copy>?

标签 ant

我正在尝试在宏中复制文件,如下所示:

<project name="why" default="go">
  <macrodef name="copy-some-stuff">
    <attribute name="file.name" />

    <copy todir="/var/tmp">
      <fileset file="${file.name}" />
    </copy>
  </macrodef>

  <target name="go">
    <copy-some-stuff file.name="/etc/hosts" />
  </target>
</project>

但我得到以下
BUILD FAILED
b.xml:3: macrodef doesn't support the nested "copy" element.

除了“是的,确实,macrodef 不支持嵌套的“复制”元素之外的任何想法。我得到了那么多。我正在寻找为什么会出现此限制以及可能的解决方法(不使用 antcall )。

最佳答案

尝试围绕 <copy>带有 <sequential> 的元素:

<macrodef name="copy-some-stuff">
   <attribute name="file.name" />
   <sequential>
      <copy todir="/var/tmp">
          <fileset file="@{file.name}" />
      </copy>
   </sequential>
</macrodef>

关于ant - 如何在ant的<macrodef>中<copy>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1228637/

相关文章:

maven-2 - 从 Maven 运行 Ant 任务

Ant xslt 任务输出到 stdout

ant - 在不同的jvm中运行ant任务

运行 Jar 后 Java Ant 无法完成任务

android - 如何使用 Cordova 命令行界面创建签名的 APK 文件?

Ant:条件复制

java - 在 Eclipse 中使用 Ant 运行 JUnit 测试时出现问题。初学者问题

java - Ant 不会替换同一行中的多个实例

ant - 为 Ant Apply 任务指定多个输出文件或目标文件

windows - 环境变量错误 - 未被识别为内部或外部命令