2017-10-11 1 views
1

내 프로젝트에이 종속성을 사용하여 MongoDB 다이버 유물 내 프로젝트에 그래도봄 데이터/MongoDB를 - NoSuchMethodError : com.mongodb.DBRef

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-data-mongodb</artifactId> 
    <version>1.5.1.RELEASE</version> 
</dependency> 

이 의존성과 :

mongodb-driver-3.4.1.jar and 
mongodb-driver.core-3.4.1.jar 

둘 다 패키지 com.mongodb을 가지고 있습니다. 나는 다음과 같은 예외를 얻을 :

nested exception is java.lang.NoSuchMethodError: com.mongodb.DBRef.<init>(Lcom/mongodb/DB;Ljava/lang/String;Ljava/lang/Object;)V 

사람이 내가 잘못 알고 있나요?

내 모음입니다 :

import org.springframework.data.annotation.Id; 

수입 org.springframework.data.mongodb.core.mapping.DBRef; import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection = "MyCollection") 
public class MyCollection { 

@Id 
private String id; 
@DBRef 
private User user; 

} 

Spring-boot-starter-data-mongodb

+0

실마리가 없지만 버전과 종속성을 부여하고 스크린 샷에 버전이 추가되지 않았습니까? – degath

+0

은 버전이 parent-POM에 정의되어 있기 때문에 – quma

답변

0

모두 기존 드라이버 (2.x) 및 새 드라이버 (3.x)는 동일한 패키지 첫 번째 인수는 DB입니다 (com.mongodb)

java.lang.NoSuchMethodError: com.mongodb.DBRef.<init>(Lcom/mongodb/DB;Ljava/lang/String;Ljava/lang/Object;)V 

https://github.com/mongodb/mongo-java-driver/blob/2.14.x/src/main/com/mongodb/DBRef.java#L67

공지 사항을 2.x 드라이버의 생성자이며 3.x 버전에서 제거되었습니다. 에.

그래서 프로젝트가 여전히 2.x 드라이버 버전을 참조하고있는 것처럼 보입니다.

관련 문제