Java Play Framework 2.4未拾取Spring数据Mongodb相关性
我正在使用PlayFramework2.4和SpringDataMongoDB。但当我编译项目时,编译器会抛出一个错误:Java Play Framework 2.4未拾取Spring数据Mongodb相关性,java,spring,playframework,sbt,spring-data-mongodb,Java,Spring,Playframework,Sbt,Spring Data Mongodb,我正在使用PlayFramework2.4和SpringDataMongoDB。但当我编译项目时,编译器会抛出一个错误: [error] /home/james/play-spring-data-mongodb/app/configuration/SpringDataMongoConfiguration.java:10: package org.springframework.data.mongodb.config does not exist [error] org.springframewo
[error] /home/james/play-spring-data-mongodb/app/configuration/SpringDataMongoConfiguration.java:10: package org.springframework.data.mongodb.config does not exist
[error] org.springframework.data.mongodb.config.AbstractMongoConfiguration
[error] /home/james/play-spring-data-mongodb/app/configuration/SpringDataMongoConfiguration.java:11: package org.springframework.data.mongodb.repository.config does not exist
[error] org.springframework.data.mongodb.repository.config.EnableMongoRepositories
[error] /home/james/play-spring-data-mongodb/app/configuration/SpringDataMongoConfiguration.java:25: cannot find symbol
[error] symbol: class AbstractMongoConfiguration
[error] AbstractMongoConfiguration
[error] /home/james/play-spring-data-mongodb/app/configuration/SpringDataMongoConfiguration.java:24: cannot find symbol
[error] symbol: class EnableMongoRepositories
[error] EnableMongoRepositories
最重要的是,昨天这一切都很完美。但是今天我在编译这个项目时遇到了这个错误。我的build.sbt文件如下:
name := """play-mongo-template"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.6"
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
"org.springframework" % "spring-context" % "4.1.6.RELEASE",
"org.springframework.data" % "spring-data-mongodb-parent" % "1.7.2.RELEASE"
)
// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator
更新
我发现了问题,问题是,我们的play framework activator无法下载spring framework依赖项。当我打开.ivy文件夹时,没有可用的JAR。我的系统已连接到Internet,但仍然播放sbt无法解决依赖关系。我如何解决这个问题 要在Spring数据中使用存储库功能,生命周期必须由Spring管理 因此,在Play2.4/2.5中使用它,而不将Spring作为依赖项添加是一个问题,因为默认生命周期由Guice管理 我找到了一种创建SpringBean并将其生命周期管理转移到Guice的方法。因此,它们可以通过Guice而不是Spring注入到项目中的任何地方 对于没有任何Spring特定功能的其他组件,可以正常创建它们,它们的生命周期将由Guice管理 对于其他特定于Spring且只能在Spring容器中运行的组件,它们也可以注入到项目中,其生命周期将由Guice管理 我修改了Play2.5文档中包含的初学者项目来演示它 请查看此存储库。
要在Spring数据中使用存储库功能,生命周期必须由Spring管理 因此,在Play2.4/2.5中使用它,而不将Spring作为依赖项添加是一个问题,因为默认生命周期由Guice管理 我找到了一种创建SpringBean并将其生命周期管理转移到Guice的方法。因此,它们可以通过Guice而不是Spring注入到项目中的任何地方 对于没有任何Spring特定功能的其他组件,可以正常创建它们,它们的生命周期将由Guice管理 对于其他特定于Spring且只能在Spring容器中运行的组件,它们也可以注入到项目中,其生命周期将由Guice管理 我修改了Play2.5文档中包含的初学者项目来演示它 请查看此存储库。