当我运行 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
Run Code Online (Sandbox Code Playgroud)
我的代码是:
@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)"
}
Run Code Online (Sandbox Code Playgroud)
经过分析,我发现
You can't annotate a statement.
You should put the grab annotation on an import, for instance.
Run Code Online (Sandbox Code Playgroud)
我不清楚上述声明,我需要进行哪些更改来解决编译问题并加载 jars。
我引用的代码来自:jars、系统类加载器
您需要在列表中的两个项目之间使用逗号@Grapes,即:
@Grapes([
@GrabConfig(systemClassLoader = true),
@Grab(group='org.hsqldb', module='hsqldb', version='2.3.2')
])
Run Code Online (Sandbox Code Playgroud)
您还可以删除该@Grapes部分,仅给出:
@GrabConfig(systemClassLoader = true)
@Grab(group='org.hsqldb', module='hsqldb', version='2.3.2')
Run Code Online (Sandbox Code Playgroud)
(这里不需要逗号,因为它们不再在列表中)
| 归档时间: |
|
| 查看次数: |
20461 次 |
| 最近记录: |