Groovy / Grails无法加载oracle.jdbc.driver.OracleDriver

时间:2012-07-03 15:52:16

标签: oracle grails groovy

我正在尝试测试连接到sql server的grails应用程序,现在,我正在使用我自己的一个。这是我的datasource.groovy

    dataSource {
        configClass = GrailsAnnotationConfiguration.class
        pooled = true
        driverClassName = "oracle.jdbc.driver.OracleDriver"
        dialect = "org.hibernate.dialect.Oracle10gDialect"
        dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
        url = "jdbc:oracle:thin:@127.0.0.1:1521/xe"
        username = "blah"
        password = "blah"
        properties {
            validationQuery="select 1 from dual"
            testWhileIdle=true
            timeBetweenEvictionRunsMillis=60000
        }
    }

我从其他应用中借用了此代码,只是更改了网址和用户/密码。另一个应用程序运行正常,但我的应用程序抛出一个长的异常,归结为此

Caused by SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
stack trace
Caused by ClassNotFoundException: oracle.jdbc.driver.OracleDriver

我已将ojdbc6.jar复制到我的应用程序库中,但我担心我对下一步该做什么感到迷失。

编辑我已将oracle.jdbc.driver.OracleDriver更新为oracle.jdbc.OracleDriver,但没有进展

3 个答案:

答案 0 :(得分:5)

运行

grails compile --refresh-dependencies

将jar添加到lib目录时,Grails会将其添加到类路径中。这是2.0 +

中的新要求

无关 - 您可以删除

configClass = GrailsAnnotationConfiguration.class

因为现在是默认

答案 1 :(得分:4)

班级不应该是:

driverClassName = "oracle.jdbc.OracleDriver"

我认为另一个被弃用了

答案 2 :(得分:3)

所以,事实证明问题是@tim_yates建议的。从那以后我遇到的问题是,即使我正在刷新依赖关系,正如@burt所说,但我从未重新加载配置文件。

我刚刚运行了grails clean然后grails compile --refresh-dependencies,瞧,问题解决了。感谢@burt和@tim_yates帮助我