【发布时间】:2015-10-09 06:13:57
【问题描述】:
WS.url("https://api.humanapi.co/v1/human"+url+"?updated_since="+updatedSince).setHeader("Authorization", "Bearer "+accessToken)
.setHeader("Accept", "application/json").get().map(
new Function<WSResponse, JsonNode>() {
public JsonNode apply(WSResponse response) {
JsonNode json = response.asJson();
success(json);
return json;
}
}
);
这会显示错误“无法解析类型 scala.concurrent.ExecutionContext。它是从所需的 .class 文件中间接引用的”。
我已经尝试添加
import scala.concurrent.ExecutionContext;
但是错误只是从 promise 所在的行“移动”到文件的顶部,并且仍然无法编译。
我也试过添加
import play.api.libs.concurrent.Execution.Implicit.defaultContext;
但是没有这样的东西可以导入。
使用的播放框架是 2.4.2。
SBT 文件:
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.6"
resolvers ++= Seq(
"Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/",
"sonatype snapshots" at "https://oss.sonatype.org/content/repositories/releases/"
)
checksums := Nil
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
"org.mockito" % "mockito-all" % "1.10.19",
"commons-codec" % "commons-codec" % "1.10",
"de.flapdoodle.embed" % "de.flapdoodle.embed.mongo" % "1.48.0",
"org.mongodb.morphia" % "morphia" % "1.0.0-rc0"
)
libraryDependencies += "org.mongodb" % "mongodb-driver" % "3.0.2"
// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator
【问题讨论】:
-
我做了,但没有任何东西可以帮助我解决问题。
-
在大多数情况下,要使用的适当执行上下文将是 Play 默认线程池。这可以通过将其导入 Scala 源文件来使用:import play.api.libs.concurrent.Execution.Implicits._ playframework.com/documentation/2.4.x/…
-
我知道。问题是“无法解析导入 play.api.libs.concurrent.Execution.Implicits._”。
-
它是否在 SBT 中编译?如果是这样,你很好。它可能与日食有关。
-
确实是 Eclipse 相关的。我有同样的问题,所有的东西都编译了,但是 eclipse 很适合它!这很烦人,因为它破坏了我依赖的所有 Eclipse 好东西,比如自动安排导入(Eclipse 会删除它不再“看到”的东西的各种导入,但这确实破坏了构建)。修复由 Aaron 提供,您只需要确保在设置 Eclipse 时不要跳过任何步骤。
标签: java scala playframework-2.0