CreationException: Unable to create injector, see the following errors:
1) Error in custom provider, Configuration error: Configuration error[Cannot connect to database [default]]
[...]
2) Error in custom provider, Configuration error: Configuration error[Cannot connect to database [default]]
最初我使用MySQL数据库与Play Framework应用程序配合使用,能够正常工作,但是我想将其更改为PostgreSQL,于是问题开始出现。我在Ubuntu电脑上安装了它们两个,并更改了play配置以使用Postgres(在build.sbt中添加了"postgresql"%"postgresql"%"9.1-901-1.jdbc4"
,并将db.default属性更改为引用Postgres)。确切的application.conf
如下:
db.default.driver="org.postgresql.Driver"
db.default.url="jdbc:postgres://localhost:5432/playdb"
db.default.username="luka"
db.default.password="test"
我手动创建了用户名为luka,密码为test和数据库playdb的用户。我尝试使用postgres用户也无效。
更让我困扰的是,现在MySQL也不能工作了,出现相同的错误。我创建了一个仅修改conf中db.default参数的新项目,但以同样的方式失败了。注释掉application.conf可以使其消失,因此这肯定是问题所在。我检查了PostgreSQL日志(/var/log/postgresql/postgresql-9.4-main.log),唯一不正确的行是[unknown]@[unknown] LOG:invalid length of startup packet。它出现多次,但并非每次刷新项目都会出现(我甚至不确定它是否相关)。我移除了我电脑上的mysql-server,希望一切都能自动解决。但事实并非如此。
有什么想法吗?
我正在使用Play 2.4.6和IntelliJ IDEA 15。该项目是使用Activator创建的,并将源代码导入到IDEA中(使用SBT模型)。
编辑 我在将db.default.hikaricp.connectionTestQuery = "SELECT 1"添加到我的application.conf时也遇到了错误。