2016-07-05 4 views
0

Я пытаюсь создать экземпляр in-memory db, т. Е. H2, используя Grape, но он, похоже, не работает. Я получаю проблемы с загрузчиками классов.Groovy Scripting - Grape - Не найдено подходящего драйвера для H2

Caught: java.sql.SQLException: No suitable driver found for jdbc:h2:mem 
java.sql.SQLException: No suitable driver found for jdbc:h2:mem 
     at java_sql_DriverManager$getConnection.call(Unknown Source) 
     at main.run(main.gsh:48) 

Вот мой код

@Grapes([ 
     @Grab(group = 'com.h2database', module = 'h2', version = '1.4.192') 
]) 
import java.sql.Connection 
import java.sql.DriverManager 

Class.forName("org.h2.Driver"); 
Connection conn = DriverManager.getConnection("jdbc:h2:~/test"); 

Что может быть проблема?

ответ

3

Оказывается, в соответствии с Grape documentation, необходимо дополнительно указать

@GrabConfig(systemClassLoader=true) 

правильно загрузить драйверы JDBC.

После этого ошибки исчезают.