Groovy - 没有找到类

时间:2013-08-03 18:47:49

标签: mysql jdbc groovy classnotfoundexception

以下Groovy脚本失败并出现java.lang.ClassNotFoundException: com.mysql.jdbc.Driver异常。

@Grapes([
    @Grab('mysql:mysql-connector-java:5.1.25')
])

import groovy.sql.Sql

def sql = Sql.newInstance(
    'jdbc:mysql://localhost/books', 
    'root',
    '', 
    'com.mysql.jdbc.Driver'
);

我查看了存储在C:\Users\Dusan\.groovy\grapes\mysql\mysql-connector-java\jars\mysql-connector-java-5.1.25.jar的JAR文件,它包含了Driver类。

有什么不对?

2 个答案:

答案 0 :(得分:21)

你需要:

@GrabConfig(systemClassLoader = true)

在你的@Grab之后,只是:

@Grab('mysql:mysql-connector-java:5.1.25')
@GrabConfig(systemClassLoader = true)
import groovy.sql.Sql

def sql = Sql.newInstance(
    'jdbc:mysql://localhost/books', 
    'root',
    '', 
    'com.mysql.jdbc.Driver'
)

应该

答案 1 :(得分:1)

你如何在groovysh中使用它?

根据文档,Grab在shell中以这种方式使用

groovy.grape.Grape.grab([group:'mysql:mysql-connector-java:5.1.25'])

我还没找到@GrabConfig的等价物。它根本不适用于groovysh。