我有一个Java 8项目,这个项目是Play Web应用程序的依赖项。 现在每当我尝试在Play 2.2.3 Web应用程序中实例化Java 8项目时,它就会出现以下错误:
play.PlayExceptions$CompilationException: Compilation error[error: cannot access MongoOperations]
at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na]
at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na]
当我说'Play'运行8080“'时,应该如何使用Java 8编译代码?为什么play无法访问Java 8项目中的类?
仅供参考:我的JAVA_HOME指向JAVA 8。
以下是我的build.sbt的样子。 请注意,'content-aggregator'是我本地maven仓库中安装的本地工件。
name := "web"
version := "1.0-SNAPSHOT"
resolvers += "Maven central" at "http://repo1.maven.org/maven2"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
"de.undercouch" % "bson4jackson" % "2.1.0" force(),
"com.fasterxml.jackson.core" % "jackson-databind" % "2.1.0" force(),
"com.fasterxml.jackson.core" % "jackson-annotations" % "2.1.0" force(),
"com.fasterxml.jackson.core" % "jackson-core" % "2.1.0" force(),
"org.mongodb" % "mongo-java-driver" % "2.11.3",
"com.techr" % "content-aggregator" % "0.0.1-SNAPSHOT",
"org.jongo" % "jongo" % "1.0",
"uk.co.panaxiom" %% "play-jongo" % "0.6.0-jongo1.0"
)
play.Project.playJavaSettings
在'content-aggregator'(Java 8)项目中我使用Spring并通过自动装配注入bean。 MongoOperations在其中一个类中自动装配,并且游戏正在大吼大叫。 SpringMongoConfig.java是此项目中的一个类,标记为@configuration注释。 现在在Play项目中我创建了配置类,它导入了content-aggregator的配置类。
@Configuration
@Import(SpringMongoConfig.class)
public class SpringConfig {
}