我正在尝试执行以下代码,但遇到了空指针异常。
<property name="from" value="from"/>
<property name="to" value="to"/>
<taskdef name="groovy"
classname="org.codehaus.groovy.ant.Groovy"
classpath="G:Tibco_Traininggroovy-binary-1.8.5groovy-all-1.6.5.jar" />
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
<groovy>
class MoveDir extends org.apache.tools.ant.Task {
//def from = 'from'
//def to = 'to'
public void execute() {
new File(properties.from).eachFileMatch ~/.*/, { file ->
file.renameTo(new File(properties.to , file.getName()))
println "Moving file: $file.name from: " + from + " to: " + to }
}
}
project.addTaskDefinition('movedir', MoveDir)
</groovy>
<movedir />
如果我在groovy中不使用ant属性,那么代码运行良好,但当我使用ant属性指定目录时,它会给出null指针异常。原因是我传递了错误的值还是语法错误。
语法错误,必须使用properties.'to'
和properties.'from'