【发布时间】:2016-05-09 20:38:56
【问题描述】:
当前在尝试将应用程序移动到 2.5.3 时收到此错误
Error injecting constructor, java.lang.RuntimeException: The global crypto instance requires a running application!
我正在处理近 1000 个错误(到目前为止报告过 - 一旦我清除了一批然后很低,然后看到另一批出现了,所以可能会有更多)
但是,我似乎无法掌握如何修复这个特定问题。迁移指南表明该库已被弃用并将被删除并提供替换路径——这些路径都不是微不足道的——但它没有说明如何根据正在运行的应用程序来实例化库。
确实在 github 问题中发现了一些喋喋不休,但没有针对实际问题。
如果库无法正确启动(如果可以快速子),我(现在)只需要替换 Crypto.encryptAES 和 Crypto.decryptAES。
这个问题目前阻止了 Play dead 顺便说一句,所以我不知道一旦我解决了这个问题,接下来会发生什么。
DI 应该会处理这个问题,但它显然没有。
这是我看到的堆栈跟踪的相关部分:
1 error
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:405)
at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:400)
at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:123)
at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1$$anonfun$2.apply(DevServerStart.scala:158)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1$$anonfun$2.apply(DevServerStart.scala:155)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:155)
... 15 common frames omitted
Caused by: java.lang.RuntimeException: The global crypto instance requires a running application!
at scala.sys.package$.error(package.scala:27)
at play.api.libs.Crypto$$anonfun$crypto$1.apply(Crypto.scala:56)
at play.api.libs.Crypto$$anonfun$crypto$1.apply(Crypto.scala:56)
at scala.Option.fold(Option.scala:158)
at play.api.libs.Crypto$.crypto(Crypto.scala:57)
at play.api.libs.Crypto$.encryptAES(Crypto.scala:78)
我用它找到了这个:https://github.com/playframework/playframework/blob/2.5.3/framework/src/play/src/main/scala/play/api/libs/Crypto.scala,希望它可能会有所启发,但我仍然不知道如何解决。
【问题讨论】:
-
仅供参考:您会认为 Play 文档告诉您在绳子尽头使用一个库可能实际上足以告诉您如何实际安装下一个库...跨度>
标签: playframework playframework-2.0