我正在使用带有Spring-Data-Mongodb的play-framework 2.4。但是当我编译项目时,编译会抛出一个错误:
[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
激活器无法下载spring-framework依赖项。当我打开.ivy文件夹时,没有可用的罐子。我的系统与Internet连接,但仍然没有解决依赖关系。我怎么能解决这个问题?
答案 0 :(得分:-1)
要在Spring Data中使用存储库功能,生命周期必须由Spring管理。
因此在Play 2.4 / 2.5中使用它,而不添加Spring作为依赖是一个问题,因为默认生命周期由Guice管理。
我想出了一种创建Spring bean并将其生命周期管理转移到Guice的方法。因此,他们可以通过Guice而不是Spring注入项目的任何地方。
对于没有任何Spring特定功能的其他组件,可以正常创建它们,它们的生命周期将由Guice管理。
对于其他特定于Spring且只能在Spring容器中运行的组件,它们也可以在项目中注入,它们的生命周期将由Guice管理。
我修改了Play 2.5文档中包含的入门项目来演示它。
请查看此存储库。
https://github.com/mohitsinha/play-java-spring-data-mongodb