我正在使用scala介绍heroku。在品脱,我应该在本地运行应用程序(link)我得到以下错误。
PS E:\heroku_test\scala-getting-started> heroku local web -f Procfile.windows
forego | starting web.1 on port 5000
web.1 | [warn] application - Logger configuration in conf files is deprecated and has no effect. Use a logback configur
ation file instead.
web.1 | [info] application - Creating Pool for datasource 'default'
web.1 | [error] c.z.h.HikariConfig - when specifying driverClassName, jdbcUrl must also be specified
web.1 | Oops, cannot start the server.
web.1 | Configuration error: Configuration error[Cannot connect to database [default]]
web.1 | Factory.java:62)
web.1 | stMethod.java:53)
web.1 | at com.google.inject.Guice.createInjector(Guice.java:96)
web.1 | a:199)
我怀疑它很简单,但我无法在谷歌中找到错误消息。此外,本教程中的所有先前步骤与预期完全一致。
编辑: 来自application.conf
# Database configuration
# ~~~~~
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#
# db.default.driver=org.h2.Driver
# db.default.url="jdbc:h2:mem:play"
# db.default.user=sa
# db.default.password=""
db.default.driver=org.postgresql.Driver
db.default.url=${?DATABASE_URL}
Procfile.windows
web: target\universal\stage\bin\play-getting-started.bat
答案 0 :(得分:-1)
您缺少环境中的DATABASE_URL。你可以看到这个人db.default.url=${?DATABASE_URL}
正在尝试使用它。
所以在开始之前"激活运行"或者运行" heroku本地web -f Procfile.windows" (或者你启动本地服务器的其他东西),你需要"设置"指向您要使用的Postgres的链接。
这适用于快速本地黑客攻击(首先在本地安装Postgres,它会要求您设置postgres用户的密码):
set DATABASE_URL=postgres://postgres:<PASSWORD>@localhost:5432/<DB_NAME>
,安装时设置的位置,以及要使用的Postgres内的数据库名称(使用psql创建一个)。
此后服务器运行。