当我运行groovy时出现以下错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
C:\Users\kbekur\MuleStudio\workspace\GroovyTest\src\com\test\SQLGroovy.groovy: 3: unexpected token: @ @ line 3, column 2.
@Grab(group='org.hsqldb', module='hsqldb', version='2.3.2')
^
1 error
我的代码是:
@Grapes([
@GrabConfig(systemClassLoader = true)
@Grab(group='org.hsqldb', module='hsqldb', version='2.3.2')
])
import groovy.sql.Sql
def db = [url:'jdbc:hsqldb:hsql://localhost/testdb', user:'sa', password:'', driver:'org.hsqldb.jdbc.JDBCDriver']
def sql = Sql.newInstance(db.url, db.user, db.password, db.driver)
println 'Some GR8 projects:'
sql.eachRow('select * from Persons') { row ->
println "${row.lastname.padRight(10)} ($row.personid)"
}
经过分析,我发现了
You can't annotate a statement.
You should put the grab annotation on an import, for instance.
我不清楚以上声明,我需要做些什么更改来修复编译问题并加载jar。
的代码答案 0 :(得分:2)
@Grapes
列表中的两个项目之间需要逗号,即:
@Grapes([
@GrabConfig(systemClassLoader = true),
@Grab(group='org.hsqldb', module='hsqldb', version='2.3.2')
])
您也可以删除@Grapes
部分,只提供:
@GrabConfig(systemClassLoader = true)
@Grab(group='org.hsqldb', module='hsqldb', version='2.3.2')
(此处不需要逗号,因为它们不再在列表中)