我是使用DI的初学者,我有一些问题可以将我的应用程序从play java 2.3迁移到2.4.2。
顺便说一句,如果有一些适合玩java 2.4.x的模板就像计算机基础应用程序一样。
当我创建一个完全新应用程序时,我没有成功让Play Ebean插件正常工作。
表示我添加:Play Ebean插件tin project / plugins.sbt:
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "1.0.0")
然后在build.sbt:
lazy val myProject = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
并在application.conf中:
ebean.default = ["models.*"]
默认数据库是postgresql
它编译但是当我运行应用程序时,我得到以下错误:
Error in custom provider, Configuration error: Configuration error[null]
while locating play.db.ebean.DefaultEbeanConfig$EbeanConfigParser
at play.db.ebean.EbeanModule.bindings(EbeanModule.java:24):
Binding(interface play.db.ebean.EbeanConfig to
ProviderConstructionTarget(class
play.db.ebean.DefaultEbeanConfig$EbeanConfigParser) eagerly) (via
modules: com.google.inject.util.Modules$OverrideModule ->
play.api.inject.guice.GuiceableModuleConversions$$anon$1)
while locating play.db.ebean.EbeanConfig
for parameter 0 at
play.db.ebean.EbeanDynamicEvolutions.<init>(EbeanDynamicEvolutions.java:36)
....
Caused by: Configuration error: Configuration error[null]
......
Caused by: java.lang.NullPointerException at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.parse(DefaultEbeanConfig.java:79)
完整的跟踪就是这一个:http://pastebin.com/7DtjSPFA
什么是错的?是否需要更多配置?
感谢您的帮助。
答案 0 :(得分:1)
感谢您的回复。最后我解决了,问题出在conf/application.conf
:
db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5432/mydb"
db.default.username="user"
db.default.password="password"
我的不好,我在配置连接池HikariCP(play.db.prototype.driver等等)时对其进行了修改,因此数据库连接正常,但没有使用Ebean。
答案 1 :(得分:0)
如果您使用的是Guice,请确保在项目的build.sbt文件中删除它的libraryDependencies。如果你从2.3迁移到2.4,现在玩Guice开箱即用:Play Framework Migration Guide - DI
对于Play Framework 2.4,从build.sbt中删除它:
"com.google.inject" % "guice" % "3.0"