无法使用 play-slick 1.0.1/slick 3.0 连接到 mysql 数据库:配置错误

Posted

技术标签:

【中文标题】无法使用 play-slick 1.0.1/slick 3.0 连接到 mysql 数据库:配置错误【英文标题】:Can't connect to mysql database with play-slick 1.0.1/slick 3.0 : configuration error 【发布时间】:2015-10-07 19:28:22 【问题描述】:

我正在尝试从 anorm 迁移到 slick,使用 play 2.4.2,并收到配置错误:

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [dethcs]]
    at play.api.Configuration$.configError(Configuration.scala:178) ~[play_2.11-2.4.0.jar:2.4.0]
...
Caused by: slick.SlickException: Error getting instance of Slick driver "slick.driver.mysqlDriver"
...
Caused by: java.lang.NoSuchMethodException: slick.driver.MySQLDriver.<init>()

我在 SO 上找到的先前答案都集中在拥有正确的 MySQL 驱动程序和其他依赖项上。我相信我的 build.sbt 涵盖了相关基础,包括:

libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.36"
libraryDependencies += "com.typesafe.play" %% "play-slick" % "1.0.1"
libraryDependencies += "com.typesafe.play" %% "play-slick-evolutions" % "1.0.1"

我的 application.conf 中的相关行是:

slick.dbs.dethcs.db.driver="com.mysql.jdbc.Driver"
slick.dbs.dethcs.driver="slick.driver.MySQLDriver"
slick.dbs.dethcs.user="redacted"
slick.dbs.dethcs.db.url="jdbc:mysql://localhost/mydb"
slick.dbs.dethcs.password="redacted"

对于如何解决此问题的任何建议,我将不胜感激——我猜这很愚蠢,但我发现很难获得特定于最新版本 slick 的文档和示例——如果有帮助,可以提供更多信息。

【问题讨论】:

【参考方案1】:

我自己没有尝试过,但看起来您引用的是 MySQLDriver 类而不是相应的对象。在其中添加一个尾随$,您应该可以开始了:

slick.dbs.dethcs.driver="slick.driver.MySQLDriver$"

【讨论】:

以上是关于无法使用 play-slick 1.0.1/slick 3.0 连接到 mysql 数据库:配置错误的主要内容,如果未能解决你的问题,请参考以下文章

play-slick : 未找到表

play-slick升级后运行激活器失败

Mysql play-slick 连接超时错误

Play-Slick 插件是不是完全支持 Slick 2.0?

未解决的依赖关系:com.typesafe.play#play-slick_2.10;0.6.0.1:未找到

已配置到 play.api.db.DBApi 的绑定,play-slick 的演变和注入器错误