2011-02-12 133 views
0

我正在写一个MyTask扩展org.apache.tools.ant.Task蚂蚁IncludeTask

MyTask我需要包含一个文件​​方法。
我的意思是我会在MyTask的execute()方法中调用<include>任务。

我看着Apache Ant的API,但我没有发现,实现了<include>任务

我在哪里可以找到包含的Java类的类IncludeTask

回答

1

似乎<include>未在诺玛为Task类实现l路。这个逻辑似乎被烧成org.apache.tools.ant.ProjectHelper,好像<include>是以特殊的方式处理的。

尝试利用该功能可能没有太大的运气。

0

来自http://ant.apache.org/manual/develop.html

例如,假设一个想处理类型org.apache.tools.ant.taskdefs.condition.Condition的对象的对象,一个可具有一个类:

public class MyTask extends Task { 
    private List conditions = new ArrayList(); 
    public void add(Condition c) { 
     conditions.add(c); 
    } 
    public void execute() { 
    // iterator over the conditions 
    } 
} 

人们可以定义和使用这个类是这样的:

<taskdef name="mytask" classname="MyTask" classpath="classes"/> 
<typedef name="condition.equals" 
     classname="org.apache.tools.ant.taskdefs.conditions.Equals"/> 
<mytask> 
    <condition.equals arg1="${debug}" arg2="true"/> 
</mytask> 
+0

问题是哪个类实现了`Include`任务,而不是如何使用*任务。 – skaffman 2011-02-12 13:12:36

+0

@skaffman是的,你说得对。我需要实现Include任务的java类,因为我正在实现一个自定义任务(在java中) – alem0lars 2011-02-12 13:14:56