我在这里引用示例:https://ant.apache.org/manual/tutorial-tasks-filesets-properties.html
import org.apache.tools.ant.BuildException;
public class Find extends Task {
private String property;
private String value;
private String print;
public void setProperty(String property) {
this.property = property;
}
// setter for value and print
public void execute() {
if (print != null) {
String propValue = getProject().getProperty(print);
log(propValue);
} else {
if (property == null) throw new BuildException("property not set");
if (value == null) throw new BuildException("value not set");
getProject().setNewProperty(property, value);
}
}
}
该示例扩展了Ant任务以构建自定义任务。给出的ant任务脚本
<find property="test" value="test-value"/>
<find print="test"/>
脚本正在设置属性“property”和“print”的值。我的问题是Ant如何确定它必须调用“setProperty”方法来设置“property”属性的值?基本上Ant如何确定从类中调用哪个方法?
答案 0 :(得分:0)
对于每个属性,编写一个setter方法。 setter方法必须是一个带有单个参数的public void方法。 方法的名称必须以set开头,后跟属性名称,名称的第一个字符为大写,其余为小写*。也就是说,要支持名为file的属性,请创建方法setFile。
- ...
- 此任务的所有属性都在运行时通过相应的setXXX方法设置。
- ...
醇>