访问groovy taskdef中的ant属性会产生Null指针异常



我正在尝试执行以下代码,但遇到了空指针异常。

 <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'

相关内容

  • 没有找到相关文章

最新更新