【问题标题】:accessing ant properties in groovy taskdef gives Null Pointer Exception在 groovy taskdef 中访问 ant 属性会给出空指针异常
【发布时间】:2012-01-30 17:20:18
【问题描述】:

我正在尝试执行以下代码,但出现空指针异常。

 <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 属性来指定目录时,它会给出空指针异常。原因是我传递了错误的值还是错误的语法。

【问题讨论】:

  • 发布异常可能会有所帮助,很难调试轶事

标签: ant groovy


【解决方案1】:

语法错误,你必须使用properties.'to'properties.'from'

【讨论】:

  • 你能告诉我如何将参数传递给taskdef。例如,在这种情况下,如果我需要将其移动为:
  • 导入 groovy taskdef,然后创建一个由 groovy 驱动的具有 from 和 to 属性的宏定义,让它完成您需要完成的所有事情..
猜你喜欢
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 2014-09-06
  • 2014-07-19
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多