【问题标题】:How to use property Array in ant Task?如何在 ant 任务中使用属性数组?
【发布时间】:2010-09-13 06:10:48
【问题描述】:

我创建了一个 Ant 任务,我想在其中拥有一个属性数组?首先,可能吗? ant 允许我们拥有一个属性数组吗?

public class MyTask extends Task {
    private String tokens[] = null;
    public void setTokens(String[] _tokens) {
        //...
    }
    public void execute() {
     // iterator over the conditions
    }
}

现在如何在 ant 构建文件中设置令牌?

【问题讨论】:

    标签: java ant build task


    【解决方案1】:

    您听起来好像要设置多个内部标签。

    Writing your own task 给出了一些指导。您所关注的部分是支持嵌套元素。这很简单。我会倾向于使用类似下面的东西

    List tokens = new ArrayList();
    
    public void addConfiguredToken(NestedElement token) {
        tokens.add(token);
    }
    

    然后您可以使用类似以下的方式使用它

    <task>
        <token value="XXX" />
        <token value="YYY" />
    </task>
    

    【讨论】:

      【解决方案2】:

      Ant 也有一些类型,比如 DirList 和 FileSet - 有一个任务接受一个隐式列表的属性,然后迭代内容是很常见的。如果您正在处理文件,那么您可以告诉 Ant 对它们进行全局处理,将它们存储在 FileSet 中,然后将其传递给您的自定义类型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-17
        • 1970-01-01
        相关资源
        最近更新 更多