2011-02-17 61 views
0

当(DataSource.groovy中定义了(MySQL)数据源时,我的Grails应用在Tomcat中运行良好。但是当使用外部配置文件时,我从Tomcat获取MySQL驱动程序的ClassNotFoundExceptions。也没有特别的战争依赖关系。帮助Grails读取外部数据源配置并加载适当的JDBC驱动程序

我可能错过了一些明显的东西,但似乎无法识别它。尝试将MySQL连接器移动到CATALINA_HOME/lib,但那不行。

任何想法或帮助,非常感谢!

.... //加载外部配置
DEF extConfig = System.properties.getProperty( “$ {APPNAME} -config.location”);
grails.config.locations = [“file:$ {extConfig}/$ {appName} -config.properties”]
//配置文件内容。
dataSource.pooled =真
dataSource.dbCreate = “创建拖放”
dataSource.driverClassName = “com.mysql.jdbc.Driver”
dataSource.username = “根”
dataSource.password =“ttech “
dataSource.url =” JDBC:MySQL的://本地主机:3306 /注册”

回答

1

在我们的项目,我们有一个外部属性文件,用于配置和我们使用它来设置数据源配置为好,在我们的例子中我们使用PostgresSQL,并且我们使用BuildConfig.groovy来包含驱动程序的jar文件,当WAR生成时,Grails依赖管理系统将该jar放入WEB-INF/lib中,并且对我们来说工作得很好,不需要放入Tomcat lib文件夹。

在您的设置中,我看到您没有为数据源指定方言,您可能还想在外部文件中检查该方言。

希望这会有所帮助!

+0

是的,这确实有效。但是,如果JDBC jar在共享容器类路径中,那么Grails是否也应该接受它?我应该能够使我的应用程序数据库不可知的权利? – Bill 2011-02-21 17:30:19

相关问题