从Ant任务中调用已知xml文件中的ant目标

时间:2010-09-07 00:56:20

标签: java ant

我正在写一个Ant任务:

public class MyTask extends Task {

    public void execute() {
        ....
    }
}

现在我想知道我是否可以从上面的execute()方法中调用另一个已知xml文件中存在的目标?

类似的东西:

public void execute() {
    AntCaller.call("anotherBuildFile.xml", "someTarget");
}

1 个答案:

答案 0 :(得分:3)

你走在正确的轨道上。如果您想要使用XML中的所有其他任务,则可以使用<ant>(因为它是另一个文件。)只有拥有.class文件时才可以从Java调用任务。幸运的是,您确实拥有Ant任务本身的.class文件,因此您可以使用与构建xml中相同的技术:

Ant helper = new Ant();
helper.setTarget("someTarget");
helper.setAntFile("anotherBuildFile.xml");
helper.execute();