我是 groovy 的新手,这是我的第一个 groovy 代码。
我在 IntelliJ 中编写了一个小型 groovy 应用程序,并且在 IDE 中一切正常。然后我想在shell中测试代码。这是我的启动脚本:
#!/bin/sh
#--------------+
# START SCRIPT |
#--------------+
#
CLASSPATH=$(JARS=("lib"/*.jar); IFS=:; echo "${JARS[*]}")
CLASSPATH=.:$CLASSPATH
/Users/myUsername/Documents/dev/groovy-2.1.3/bin/groovy -cp $CLASSPATH com/bla/Frequency.groovy
我遇到了一些我无法弄清楚的错误。这是其中的两个:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, com/bla/Frequency.groovy: 219: The name log doesn't refer to a declared variable or class. The static scope requires that you declare variables before using them. If the variable should have been a class check the spelling.
@ line 219, column 9.
log.info "Application is completed!"
我实际上用@Slf4j 注释注释了我的类:
@Slf4j
class Frequency {
public static void main(String[] args) {
// do some things
log.info "Application is completed!"
}
}
另一个问题是多重分配。这是我的示例代码:
def (elementId, elementValue) = equalsPattern.split(element)
这是我得到的错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, /Users/myUsername/Documents/dev/workspace/bla/trunk/src/main/groovy/com/bla/Frequency.groovy: 163: unexpected token: def @ line 163, column 13.
def (elementId, elementValue) = equalsPattern.split(element)