【问题标题】:Execute Ant action always and independently from target始终独立于目标执行 Ant 操作
【发布时间】:2010-02-23 12:55:51
【问题描述】:

有没有办法在 Ant 构建文件中指定像 这样的操作,每次构建文件被 ant 读取时都会执行(不管调用的目标是什么)?

背景是:我希望在模板不存在时自动从模板创建 *.properties 文件。我知道,我可以指定一个执行此操作的目标,然后将其包含在依赖树的根目录中,但也许有更优雅的解决方案。因为实际上问题有点复杂:*.properties 文件被读出的 ant 文件是由其他构建文件导入的,我不想在它们之间交叉引用目标。

我希望我充分解释了我的问题。如有问题,请不要犹豫。

这是我第一次在这里发帖。希望你能帮上忙——来自德国的问候,本。

【问题讨论】:

    标签: ant build


    【解决方案1】:

    只需将代码放在文件顶部,在目标定义之外。

    <project name="myproject" default="mytarget" basedir=".">
    
      <echo message="Hello there." />
    
      <target name="mytarget">
        <!-- Do stuff. -->
      </target>
    
      <target name="myothertarget">
        <!-- Do other stuff. -->
      </target>
    
    </project>
    

    在这种情况下,echo 将在任何目标之前执行一次,无论调用哪个目标。

    【讨论】:

    • 谢谢!我也想到了这一点,但是我没有在内容辅助中看到 If-Task,这就是为什么我认为这是不可能的。但事实证明,问题在于我没有在 Eclipse 的 Ant 插件首选项中包含 ant-contrib.jar,并且我忘记了必要的 taskdef 语句。现在一切顺利。
    猜你喜欢
    • 2011-05-11
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多