1

SQLサーバーに接続する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
        }
    }

このコードを別のアプリから借用しました。URLとユーザー/パスワードを変更するだけです。他のアプリは正常に動作しますが、私のアプリは長い例外をスローします。これは要約すると

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

ojdbc6.jarをアプリlib/にコピーしましたが、次に何をすべきか迷っています。

編集私はに更新oracle.jdbc.driver.OracleDriverしましoracle.jdbc.OracleDriverたが、進捗がありません

4

3 に答える 3

5

走る

grails compile --refresh-dependencies

jarをlibディレクトリに追加すると、Grailsがそれをクラスパスに追加します。これは2.0以降の新しい要件です

無関係-削除できます

configClass = GrailsAnnotationConfiguration.class

それが今のデフォルトなので

于 2012-07-03T16:21:03.723 に答える
4

クラスは次のようにすべきではありません:

driverClassName = "oracle.jdbc.OracleDriver"

もう1つは廃止されたと思います

于 2012-07-03T15:55:58.947 に答える
3

したがって、問題は@tim_yatesが提案したものであることがわかりました。それ以来私が抱えていた問題は、@ burtが言ったように、依存関係を更新していても、構成ファイルを再ロードしたことがないということでした。

私はちょうどその時走っgrails cleangrails compile --refresh-dependencies、出来上がり、問題は解決しました。私を助けてくれた@burtと@tim_yatesに感謝します

于 2012-07-03T18:36:32.100 に答える