application.conf
application.secret = <secret code>
application.session.maxAge = 5m
application.session.secure = true
play.http.parser.maxMemoryBuffer = 512M
application.langs = "en"
db.default.driver = com.mysql.jdbc.Driver
db.default.url = "jdbc:mysql://localhost:3306/<db_name>"
db.default.username = "username"
db.default.password = "password"
db.default.logSql=true
play.evolutions.enabled=false
ebean.default = ["package.to.models.*"]
我无法找到问题所在,因此我将其转给了Play框架官方documentation
似乎表示无法注入依赖关系
Error injecting constructor, javax.persistence.PersistenceException: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 29996ms
build.sbt
lazy val root = (project in file("."))
.enablePlugins(PlayJava, PlayEbean)
.settings(
name := """project_name""",
organization := "com.package",
version := "1.0-SNAPSHOT",
scalaVersion := "2.13.1",
libraryDependencies ++= Seq(
guice,
jdbc,
"mysql" % "mysql-connector-java" % "8.0.19",
"it.innove" % "play2-pdf" % "1.10.0",
),
scalacOptions ++= Seq(
"-feature",
"-deprecation",
"-Xfatal-warnings"
)
)
问题是缺少Eban ORM所需的JAXB-API相关性
以下列方式更新build.sbt文件
lazy val root = (project in file("."))
.enablePlugins(PlayJava, PlayEbean)
.settings(
name := """project_name""",
organization := "com.package",
version := "1.0-SNAPSHOT",
scalaVersion := "2.13.1",
libraryDependencies ++= Seq(
guice,
jdbc,
"mysql" % "mysql-connector-java" % "8.0.19",
"it.innove" % "play2-pdf" % "1.10.0",
// To provide an implementation of JAXB-API, which is required by Ebean.
"javax.xml.bind" % "jaxb-api" % "2.3.1",
"javax.activation" % "activation" % "1.1.1",
"org.glassfish.jaxb" % "jaxb-runtime" % "2.3.2",
),
scalacOptions ++= Seq(
"-feature",
"-deprecation",
"-Xfatal-warnings"
)
)