我正在尝试执行以下代码,但我得到空指针异常。
<property name="from" value="from"/>
<property name="to" value="to"/>
<taskdef name="groovy"
classname="org.codehaus.groovy.ant.Groovy"
classpath="G:\Tibco_Training\groovy-binary-1.8.5\groovy-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属性来指定目录时,它会给出空指针异常。我传递错误的值或错误的语法是原因。
答案 0 :(得分:0)
语法错误,您必须使用properties.'to'
和properties.'from'