我正在尝试创建一个小型的Springboot应用程序,该应用程序使用groovy.sql.Sql类连接到Oracle数据库(Oracle jar已被抓取并位于spring引导类路径中)。这是概念/测试证明的一个非常简单的例子。
import groovy.sql.Sql
@RestController
class ThisWillActuallyRun {
@RequestMapping("/")
String home() {
oracleSql = Sql.newInstance(jdbc:oracle:thin:@oracle-db:1521:db-name,
"oracle-user",
"oracle-pass",
"oracle.jdbc.driver.OracleDriver")
row = oracleSql.firstRow("select foo from blah")
return "ok"
}
}
使用以下命令运行应用程序时:
spring run test_for_so.groovy
产生以下错误:
startup failed:
file:test_for_so.groovy: 1: unable to resolve class groovy.sql.Sql @ line 1, column 1.
import groovy.sql.Sql
答案 0 :(得分:2)
你包括什么groovy jar作为依赖? groovy
jar仅包含基本语言支持。将其更改为groovy-all
以获取完整的语言和库包。例如,在gradle中,使用:
dependencies {
compile "org.codehaus.groovy:groovy-all"
...
}
在maven中,它看起来像这样:
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
</dependency>
</dependencies>
如果您不想要所有内容,也可以在groovy-sql
包的顶部添加groovy
。
答案 1 :(得分:2)
我有同样的问题。我刚刚找到了解决方案。 添加以下代码。
@Grab('groovy-sql')
在groovy-sql之后你可以使用
import groovy.sql.Sql