2013-08-03 100 views
12

以下Groovy腳本失敗,並顯示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver異常。Groovy - 未找到類

@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文件,它包含驅動程序類。

什麼可能是錯的?

回答

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

如何在groovysh使用它?

按照商務部,搶在外殼用這樣的方式

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

我還沒有找到@GrabConfig相當。它在groovysh中根本不起作用。

+0

您是否找到任何解決方案了? –