首页 > 解决方案 > 当 Play 框架从 2.3.x 升级到 2.4.x 时,Scala gucify 方法错误

问题描述

在将 Play 框架 2.3.x 迁移到 2.4.x 期间出现以下错误:

play.api.UnexpectedException: Unexpected exception[NoSuchMethodError: com.google.inject.util.Providers.guicify(Ljavax/inject/Provider;)Lcom/google/inject/Provider;]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:169) ~[play-server_2.11-2.4.11.jar:2.4.11]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:121) ~[play-server_2.11-2.4.11.jar:2.4.11]
at scala.Option.map(Option.scala:146) ~[scala-library-2.11.6.jar:na]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:121) ~[play-server_2.11-2.4.11.jar:2.4.11]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:119) ~[play-server_2.11-2.4.11.jar:2.4.11]
at scala.util.Success.flatMap(Try.scala:230) ~[scala-library-2.11.6.jar:na]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:119) ~[play-server_2.11-2.4.11.jar:2.4.11]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:111) ~[play-server_2.11-2.4.11.jar:2.4.11]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) ~[scala-library-2.11.6.jar:na]
Caused by: java.lang.NoSuchMethodError: com.google.inject.util.Providers.guicify(Ljavax/inject/Provider;)Lcom/google/inject/Provider;
at play.api.inject.guice.GuiceableModuleConversions$$anon$1$$anonfun$configure$1$$anonfun$apply$2.apply(GuiceInjectorBuilder.scala:276) ~[play_2.11-2.4.11.jar:2.4.11]
at play.api.inject.guice.GuiceableModuleConversions$$anon$1$$anonfun$configure$1$$anonfun$apply$2.apply(GuiceInjectorBuilder.scala:275) ~[play_2.11-2.4.11.jar:2.4.11]
at scala.Option.foreach(Option.scala:257) ~[scala-library-2.11.6.jar:na]
at play.api.inject.guice.GuiceableModuleConversions$$anon$1$$anonfun$configure$1.apply(GuiceInjectorBuilder.scala:275) ~[play_2.11-2.4.11.jar:2.4.11]
at play.api.inject.guice.GuiceableModuleConversions$$anon$1$$anonfun$configure$1.apply(GuiceInjectorBuilder.scala:272) ~[play_2.11-2.4.11.jar:2.4.11]
at scala.collection.immutable.List.foreach(List.scala:381) ~[scala-library-2.11.6.jar:na]
at play.api.inject.guice.GuiceableModuleConversions$$anon$1.configure(GuiceInjectorBuilder.scala:272) ~[play_2.11-2.4.11.jar:2.4.11]
at com.google.inject.AbstractModule.configure(AbstractModule.java:59) ~[ipp-java-qbapihelper-1.2.0-jar-with-dependencies.jar:na]
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) ~[ipp-java-qbapihelper-1.2.0-jar-with-dependencies.jar:na]
at com.google.inject.spi.Elements.getElements(Elements.java:101) ~[ipp-java-qbapihelper-1.2.0-jar-with-dependencies.jar:na]
[error] application 

标签: scalaplayframeworkmigrationguice

解决方案


推荐阅读