4

SQLiteをgrailsで動作させようとしています...私がウェブで見つけたものは少し古くなっているようです-アイビーやプラグインなどへの参照ですが、これらに基づいています:

http://stackoverflow.com/questions/1199512/grails-sqlite
http://bigohno.blogspot.com/2010/01/groovy-on-grails-sqlite.html
http://maven-repository.com/artifact/org.xerial/sqlite-jdbc/3.6.17

テスト環境で動作させることができました...奇妙なことに、grails アプリを "prod war" して tomcat にデプロイすると、次のように失敗します。

方言クラスが見つかりません: hibernate.SQLiteDialect

これが私のセットアップです:

conf/hibernate に SQLiteDialect のクラスを追加しました。この .java はここから取得されましたhttp://code.google.com/p/hibernate-sqlite/

次に、私の DataSource.groovy には次のものがあります。

hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {
            // SQLite
            // !!!see also BuildConfig for Dependancies!!!
            dbCreate="update"
            url='jdbc:sqlite:C:\\sqlite-shell-win32-x86-3080100\\rss_1.db'
            logSql="true"
            dialect="hibernate.SQLiteDialect"
            driverClassName="org.sqlite.JDBC"
            readOnly="true"

        }
    }

    production {
        dataSource {
            // SQLite
            dbCreate="update"
            url="jdbc:sqlite:/opt/sqlite/dbs/rss/1/rss_1.db"
            logSql="true"
            dialect="hibernate.SQLiteDialect"
            driverClassName="org.sqlite.JDBC"
            readOnly="true"
            showsql="false"

        }
    }
}

BuildConfig.groovy には次のものがあります。

dependencies {

        runtime 'org.xerial:sqlite-jdbc:3.6.17'

    }

また、.java ダイアレクト クラスを jar して lib に入れました。libにsqlite-jdbc-3.7.15-M1.jarも入れました。

現在、開発環境でアプリを実行すると正常に動作します...しかし、Tomcatにデプロイすると方言エラーが発生します。

方言の製品環境に対して何か特別なことをする必要がありますか?

4

1 に答える 1