12
除了Ant任務運行在不同的構建文件這一事實之外,AntCall任務(描述here)和Ant任務(描述here)之間是否存在任何實質性區別?AntCall和Ant任務有什麼區別?
除了Ant任務運行在不同的構建文件這一事實之外,AntCall任務(描述here)和Ant任務(描述here)之間是否存在任何實質性區別?AntCall和Ant任務有什麼區別?
這實際上取決於你的意思是「實質性差異」。不同之處在於人們稱其爲另一個,所以基本上是一樣的,但在不同的環境中使用。
這裏是defaults.properties
一個片段,它定義了標準的Ant任務:
ant=org.apache.tools.ant.taskdefs.Ant
antcall=org.apache.tools.ant.taskdefs.CallTarget
...........
如果你打開這些任務的源代碼,你會看到CallTarget
包含Ant
對象和代表大部分的工作,以它:
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();
}
..........
..........
}
這些差異都在您剛剛提到的鏈接中描述。 – skaffman 2010-05-03 11:48:16