2012-01-20 8 views
4

Grails 2.0を使用していて、外部ライブラリを認識するためのコードを取得できません。特にMySQLドライバ。Grails 2.0でMySQLを使用する - 外部コネクタ.jarを探す

DataSourceをHSQLDBからMySqlに変更しようとすると、基本的に問題が発生します。私はコネクタjar(5.0.8)をダウンロードし、それを(project)/ libディレクトリに入れました。 com.mysql.jdbc.Driver.classファイルが.jarにあることを確認しました。

私はエラーを取得するアプリを実行しようとするたび:ClassNotFoundExceptionがによって引き起こさ

に:はcom.mysql.jdbc.Driver

すべてのヘルプは大歓迎です。

dataSource { 
    pooled = true 
    //driverClassName = "org.h2.Driver" 
    //username = "sa" 
    //password = "" 
    driverClassName = "com.mysql.jdbc.Driver" 
    username = "bob" 
    password = "password" 
} 
hibernate { 
    cache.use_second_level_cache = true 
    cache.use_query_cache = true 
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' 
} 
// environment specific settings 
environments { 
    development { 
     dataSource { 
      //dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', '' 
      //url = "jdbc:h2:mem:devDb;MVCC=TRUE" 
      dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', '' 
      url = "jdbc:mysql://localhost:3306/tekevent" 
     } 
    } 
    test { 
     dataSource { 
      dbCreate = "create-drop" 
      url = "jdbc:h2:mem:testDb;MVCC=TRUE" 
     } 
    } 
    production { 
     dataSource { 
      dbCreate = "update" 
      url = "jdbc:h2:prodDb;MVCC=TRUE" 
      pooled = true 
      properties { 
       maxActive = -1 
       minEvictableIdleTimeMillis=1800000 
       timeBetweenEvictionRunsMillis=1800000 
       numTestsPerEvictionRun=3 
       testOnBorrow=true 
       testWhileIdle=true 
       testOnReturn=true 
       validationQuery="SELECT 1" 
      } 
     } 
    } 
} 
+2

コマンドラインから 'grails clean'を実行しようとしましたか? –

答えて

7

jarファイルを削除し、代わりにBuildConfig.groovyの依存関係宣言を使用してください。多くのjarファイルを複数コピーするのではなく、それぞれを一度ダウンロードしてIvyキャッシュにキャッシュし、そこから参照するほうがはるかに優れています。

BuildConfig.groovyには既にMySQLの例があります。それをコメント解除し、必要に応じてバージョンを更新してください。また、mavenCentral()リポジトリがコメント解除されていることを確認してください:

repositories { 
    ... 
    mavenCentral() 
} 

dependencies { 
    ... 
    runtime 'mysql:mysql-connector-java:5.1.16' 
} 
+0

ヒントをありがとう。 grails cleanコマンドは、私のプログラムが.jarファイルを見つけることを可能にしました。しかし、より長期的なプログラム設計のために、BuildConfig.groovyも更新しました。私はそのファイルを使って依存関係を管理しています。 – bMcNees

関連する問題