我有一个自定义插件,我想在Play应用程序启动时加载。
我有一个play.plugins文件,其中包含以下行:
1000:my.package.MyPlugin
因为一旦加载了Akka插件就需要这个,所以我根据这里的文档给它1000:
https://www.playframework.com/documentation/2.3.x/ScalaPlugins
当我运行我的应用程序时,只要我尝试点击我在路由文件中定义的网址,就会看到以下错误:
play.api.PlayException: Cannot load plugin[An exception occurred during Plugin [eon.optimizer.config.LifeCyclePlugin] initialization]
at play.api.WithDefaultPlugins$$anonfun$plugins$1$$anonfun$apply$9.apply(Application.scala:154) ~[play_2.11-2.3.9.jar:2.3.9]
at play.api.WithDefaultPlugins$$anonfun$plugins$1$$anonfun$apply$9.apply(Application.scala:130) ~[play_2.11-2.3.9.jar:2.3.9]
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) ~[scala-library-2.11.7.jar:na]
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) ~[scala-library-2.11.7.jar:na]
at scala.collection.immutable.List.foreach(List.scala:381) ~[scala-library-2.11.7.jar:na]
为什么会出现这个错误?我做错了什么?我在Play Framework 2.3上发布了!
答案 0 :(得分:-1)
我发现了什么问题。堆栈跟踪给了我一个提示! "插件初始化期间的异常"
我的插件中有一个val,这是造成这个问题的原因!
class MyPlugin(app: Application) extends Plugin {
val myVal = SomeInitialization() // I had to change it to lazy val
...
...
}