2017-10-11 3 views
1

J'utilise cette dépendance dans mon projet:données de printemps/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> 

et avec cette dépendance tho objets de plongeur MongoDB sont dans mon projet:

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

les deux ont un paquet com.mongodb. je reçois l'exception suivante:

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

Est-ce que quelqu'un sait ce que je fais mal?

C'est ma collection:

import org.springframework.data.annotation.Id; 

importation 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

Je n'ai aucune idée, mais en plus, vous avez donné la dépendance avec la version et sur la capture d'écran, il n'y a pas de version ajoutée? – degath

+0

car la version est définie dans parent-POM – quma

Répondre

0

ont le même paquet (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

Les deux pilotes existants ( 2.x) et nouveau pilote ( 3.x)

Notez que le premier argument est DB qui est constructeur dans le pilote 2.x et est supprimé de 3.x versi sur. Il semble donc que votre projet fait encore référence à la version du pilote 2.x.