未知类型: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,那么您的安装肯定已损坏