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

时间:2015-10-07 19:28:23

标签: mysql sbt playframework-2.4 slick-3.0

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

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"

我很感激有关如何解决此问题的任何建议 - 我猜测它有些愚蠢但我发现很难获得文档和示例特定于更新版本的光滑 - 如果有帮助,可以提供其他信息。

1 个答案:

答案 0 :(得分:6)

我还没有尝试过自己,但看起来你正在引用MySQLDriver类而不是相应的对象。在其中添加一个尾随$,你应该好好去:

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