未知类型:Groovy特性的方法_DEF

未知类型:Groovy特性的方法_DEF,groovy,Groovy,我有以下特点: trait DataSource{ private File handle private List data def readFile(String target){ try{ handle = new File(target) data = handle.readLines() }catch(FileNotFoundException fnf){

我有以下特点:

trait DataSource{
    private File handle
    private List data

    def readFile(String target){
        try{
            handle = new File(target)
            data = handle.readLines()
        }catch(FileNotFoundException fnf){
            return false;
        }

    }

    def printLines(){
        for(int i = 0; i < data.size(); i++){
            println(data.get(i));
       }
    }

    def getData(){
         if(data != null){
             return data
         }else{
             return false;
         }
    }

    def getHandle(){
        if(handle != null){
            return handle
        }else{
            return false
        }
    }
}
trait数据源{
私有文件句柄
私有列表数据
def readFile(字符串目标){
试一试{
句柄=新文件(目标)
data=handle.readLines()
}捕获(FileNotFoundException fnf){
返回false;
}
}
def打印行(){
对于(int i=0;i
每当我尝试编译此文件时,都会出现以下错误:

Error:(5, 5) Groovyc: Unknown type: METHOD_DEF at line: 5 column: 5. File: <SOMEFILE>
错误:(5,5)Groovyc:第5行第5列的未知类型:方法_DEF:5。文件:
这个语法在我看来都是正确的,我做错了什么?这是闭包的问题吗


我在Windows7 Professional上使用Intellij14.1.1CE

,因为语法是正确的,我强烈认为您的Groovy版本太旧了。让IntelliJ使用Groovy 2.3+来实现这一点。我认为编译器处理`特征数据源{…}“由于打开的块不能包含方法定义,因此使用open block进行方法调用时失败。

我使用的是Groovy 2.4。3@Cayle这没有使用任何新奇的14.1 groovy编译选项?据我所知,我在设置中没有看到与此相关的任何内容。Cayle,在这里,您可以找到关于如何为新项目设置groovy版本的指南。对于现有的,它应该显示为库。您能否再次验证您正在使用Groovy 2.4.3?您可以使用普通的zip发行版(or)尝试您的代码并从命令行执行吗?因为如果您确实在使用Groovy 2.4.3,那么您的安装肯定已损坏