我正在写一个Ant任务:
public class MyTask extends Task {
public void execute() {
....
}
}
现在我想知道我是否可以从上面的execute()方法中调用另一个已知xml文件中存在的目标?
类似的东西:
public void execute() {
AntCaller.call("anotherBuildFile.xml", "someTarget");
}
答案 0 :(得分:3)
你走在正确的轨道上。如果您想要使用XML中的所有其他任务,则可以使用<ant>
(因为它是另一个文件。)只有拥有.class文件时才可以从Java调用任务。幸运的是,您确实拥有Ant任务本身的.class文件,因此您可以使用与构建xml中相同的技术:
Ant helper = new Ant();
helper.setTarget("someTarget");
helper.setAntFile("anotherBuildFile.xml");
helper.execute();