【发布时间】:2016-10-27 06:36:18
【问题描述】:
我正在尝试使用 play.api.Configuration 对象来消除弃用警告
import com.datastax.driver.core.Cluster
import com.datastax.driver.core.policies.ConstantReconnectionPolicy
import play.api.Play.current
import play.libs.Akka
import scala.concurrent.ExecutionContext
import scala.collection.JavaConverters._
import play.api.Configuration
import javax.inject.Inject
object TestClient {
val config = new Configuration(_)
private val nodes = config.asInstanceOf[Configuration].getStringList("Test_ENDPOINT").map(_.asScala.toList).getOrElse(List("127.0.0.1"))
}
当我运行我的应用程序时出现错误
Caused by: java.lang.ClassCastException: utils.TestClient$$anonfun$1 cannot be cast to play.api.Configuration
由于链依赖,我无法将此对象转换为类。以下是完整的跟踪:
play.api.UnexpectedException: Unexpected exception[ExceptionInInitializerError: null]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:184)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:131)
at scala.Option.map(Option.scala:146)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:131)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:129)
at scala.util.Success.flatMap(Try.scala:231)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:129)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:121)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
Caused by: java.lang.ExceptionInInitializerError: null
at Global$.onStart(Global.scala:10)
at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:111)
at play.api.Play$$anonfun$start$1.apply(Play.scala:102)
at play.api.Play$$anonfun$start$1.apply(Play.scala:102)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.api.Play$.start(Play.scala:102)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:171)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:131)
at scala.Option.map(Option.scala:146)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:131)
Caused by: java.lang.ClassCastException: utils.TestClient$$anonfun$1 cannot be cast to play.api.Configuration
at utils.TestClient$.<init>(TestClient.scala:17)
at utils.TestClient$.<clinit>(TestClient.scala)
at Global$.onStart(Global.scala:10)
at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:111)
at play.api.Play$$anonfun$start$1.apply(Play.scala:102)
at play.api.Play$$anonfun$start$1.apply(Play.scala:102)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.api.Play$.start(Play.scala:102)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:171)
也尝试使用配置加载但不工作。
val config = Configuration.load()
这一行有多个标记:
overloaded method value load with alternatives: (environment: play.api.Environment)play.api.Configuration <and> (environment: play.api.Environment,devSettings: Map[String,AnyRef])play.api.Configuration cannot be applied to ()
overloaded method value load with alternatives: (environment: play.api.Environment)play.api.Configuration <and> (environment: play.api.Environment,devSettings: Map[String,AnyRef])play.api.Configuration cannot be applied to ()
【问题讨论】:
-
也许这会对你有所帮助。 alvinalexander.com/scala/…
-
你有什么问题?
标签: scala akka playframework-2.5