복붙노트

[SPRING] Play-Framework 2.4에서 선택하지 않은 Spring-Data-Mongodb 의존성

SPRING

Play-Framework 2.4에서 선택하지 않은 Spring-Data-Mongodb 의존성

나는 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

최신 정보

나는 문제를 발견했다. 문제는 스프링 프레임 워크 의존성을 다운로드 할 수없는 플레이 프레임 워크 액티베이터이다. .ivy 폴더를 열면 jar 파일을 사용할 수 없습니다. 내 시스템은 인터넷과 연결되어 있지만 여전히 의존성을 해결하지 못합니다. 어떻게이 문제를 해결할 수 있습니까?

해결법

  1. ==============================

    1.Spring 데이터에서 저장소 기능을 사용하려면 Spring에서 수명주기를 관리해야합니다.

    Spring 데이터에서 저장소 기능을 사용하려면 Spring에서 수명주기를 관리해야합니다.

    따라서 Play 2.4 / 2.5에서 Spring을 의존성으로 추가하지 않고 사용하는 것은 기본 라이프 사이클이 Guice에 의해 관리되기 때문에 문제가됩니다.

    스프링 빈을 만들고 Guice에게 라이프 사이클 관리를 전송하는 방법을 알아 냈습니다. 따라서 그들은 Spring 대신 Guice에 의해 프로젝트의 어느 곳에 나 삽입 될 수 있습니다.

    Spring 특정 기능이없는 다른 구성 요소의 경우 정상적으로 생성 될 수 있으며 수명주기는 Guice에 의해 관리됩니다.

    Spring에만 한정되고 Spring 컨테이너 내에서만 실행될 수있는 다른 구성 요소의 경우 프로젝트에 주입 할 수도 있고 수명주기를 Guice에서 관리 할 수도 있습니다.

    Play 2.5 문서에 포함 된 시작 프로젝트를 수정하여이를 보여줍니다.

    이 저장소를 살펴보십시오. https://github.com/mohitsinha/play-java-spring-data-mongodb

  2. from https://stackoverflow.com/questions/32305873/spring-data-mongodb-depedencies-not-picked-by-play-framework-2-4 by cc-by-sa and MIT license