首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AntCall和Ant任务有什么区别?

AntCall和Ant任务有什么区别?
EN

Stack Overflow用户
提问于 2010-05-03 16:02:53
回答 1查看 4.4K关注 0票数 12

除了AntCall任务在不同的构建文件上运行之外,Ant任务(描述为here)和Ant任务(描述为here)之间有什么本质上的区别吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-03 19:43:28

这真的取决于你所说的“实质性差异”是什么意思。不同之处在于一个调用另一个,所以基本上是相同的东西,但在不同的上下文中使用。

下面是来自defaults.properties的一段代码,它定义了标准的Ant任务:

代码语言:javascript
复制
ant=org.apache.tools.ant.taskdefs.Ant
antcall=org.apache.tools.ant.taskdefs.CallTarget
...........

如果您打开这些任务的源代码,您将看到CallTarget包含一个Ant对象,并将大部分工作委托给它:

代码语言:javascript
复制
public class CallTarget extends Task {
    private Ant callee;
    ...........
    ...........
    /**
     * Delegate the work to the ant task instance, after setting it up.
     * @throws BuildException on validation failure or if the target didn't
     * execute.
     */
    public void execute() throws BuildException {
        if (callee == null) {
            init();
        }
        if (!targetSet) {
            throw new BuildException(
                "Attribute target or at least one nested target is required.",
                 getLocation());
        }
        callee.setAntfile(getProject().getProperty("ant.file"));
        callee.setInheritAll(inheritAll);
        callee.setInheritRefs(inheritRefs);
        callee.execute();
    }
    ..........
    ..........
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2756816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档