如何在ant Task中使用属性Array?

时间:2010-09-13 06:10:48

标签: java ant build task

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

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

现在如何在ant build文件中设置标记?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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