0

私はgrailsとintellijideに不慣れです。私はintellijでgrailsプロジェクトを実行しましたが、それで問題ありません。しかし今、私はデフォルトの代わりにmysqlデータベースを使用する必要があります。どうしたらいいのかわからない。私が知っている限り、私は以下のようにデータソースクラスを変更しました>>>

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
    dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
    properties {
        initialSize = 5
        maxActive = 10
        minIdle = 5
        maxIdle = 5
        maxWait = 100000
        validationQuery = "select 1"
        minEvictableIdleTimeMillis = 60000
        timeBetweenEvictionRunsMillis = 60000
    }
}
hibernate {
    cache.use_second_level_cache = false
    cache.use_query_cache = false
    cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}
// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "update" // one of 'create', 'create-drop','update'
            loggingSql = true
            url = "jdbc:mysql://localhost/sbicloud_jan_13"
            username = "root"
            password = "admin"
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:mysql://192.168.18.12/sbicloud"
            username = "zia"
            password = "zia123321"
        }
    }
    production {
        dataSource {
        }
    }
}

アプリを実行すると、コンソールでいくつかのエラーが発生します。最初のエラーは次のとおりです>>>

    Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

誰かがこれについて私を助けてくれますか?!それは私にとってとても役に立ちます。

4

1 に答える 1

5

多かれ少なかれ2つのアプローチがあります:

  1. BuildConfig.groovy を変更して、アプリケーションが MySQL を使用するようにします。BuildConfig には、「依存関係」と呼ばれるブロックがあります。

    dependencies {
         // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
    
         // runtime 'mysql:mysql-connector-java:5.1.20'
     }
    

    次の行のコメントを外します。

    // runtime 'mysql:mysql-connector-java:5.1.20'
    

    そして、依存関係をダウンロードします。

  2. MySQL JDBC ドライバーを grails-app/lib ディレクトリ内に置きます... 以前、この手順をブログに投稿しました。ここを見て

于 2013-03-23T15:16:08.927 に答える