几个月写了篇关于Ant自定义任务开发的,今天因为需要,又做了一个Ant自定义任务。这个任务与之前的不同之处是多了一步:获取任务的返回值。
之前在做自定义任务时,了解了怎样将参数传递进来,这次又了解了怎样获取返回值,果然是用不到没有必要学,要用时候再学效果最好。废话不说,来说下怎样获取Ant自定义任务的返回值。
Ant自定义任务返回是通过在继承Task的类中serProperty方法将一个Task属性字段设置进去,然后通过getProject().setNewProperty(propertyName,propertyValue)来进行取值设置。示例代码如下:
public class Sample extends Task{
private String name;
private String resultProperty;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setProperty(String resultProperty) {
this.resultProperty = resultProperty;
}
@Override
public void execute() throws BuildException {
getProject().setNewProperty(resultProperty,name);
}
}
把它打成jar包后,丢到%ANT_HOME%\lib下,然后编写测试脚本如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="test">
<target name="test">
<taskdef name="Sample" classname="Sample" classpath="%ANT_HOME%/lib/AntSample.jar"/>
<Sample property="result"
name="Sample"
/>
<echo message="result=${result}"/>
</target>
</project>
运行结果如下:
test:
[echo] result=Sample
BUILD SUCCESSFUL
Total time: 0 seconds
通过以上方式就可以获取到Ant任务的返回值了。