2010-09-07 110 views
2

我正在写一个Ant任务内著名的XML文件的Ant目标:调用来自Ant任务

public class MyTask extends Task { 

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

现在我想知道是否有可能,我打电话给存在于其他已知的目标上述execute()方法内的xml文件?

喜欢的东西:

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

当然要找出你运行示例代码”最简单的方法是已经提出并看看它是否有效?什么阻止你这样做? – Syntax 2010-09-07 01:32:52

+0

errr,AntCaller是一个虚拟类。 – digiarnie 2010-09-07 01:35:07

+0

那么回答:) – Syntax 2010-09-07 02:01:37

回答

3

你是在正确的轨道上。如果您想要从XML获取所有其他任务,那么您将使用<ant>(因为它是另一个文件)。只有拥有.class文件才能从Java调用任务。幸运的是,你确实有Ant任务本身的.class文件,所以你可以使用同样的技术,你在构建XML会:

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