groovy.sql.Sql Springboot cli

时间:2016-03-07 11:52:23

标签: groovy spring-boot

我正在尝试创建一个小型的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

2 个答案:

答案 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