项目配置
- java8
- spring-5.2.7
- spring-data-mongodb-3.0.2
- mongo-java-driver 3.12.6
问题描述
工程集成,启动,查询,删除,修改都没有问题,唯独insert插入报错,报错内容如下
Caused by: java.lang.NoSuchMethodError: com.mongodb.client.MongoCollection.insertOne(Ljava/lang/Object;)Lcom/mongodb/client/result/InsertOneResult;
at org.springframework.data.mongodb.core.MongoTemplate.lambda$insertDocument$15(MongoTemplate.java:1444)
at org.springframework.data.mongodb.core.MongoTemplate.execute(MongoTemplate.java:566)
at org.springframework.data.mongodb.core.MongoTemplate.insertDocument(MongoTemplate.java:1436)
at org.springframework.data.mongodb.core.MongoTemplate.doInsert(MongoTemplate.java:1236)
at org.springframework.data.mongodb.core.MongoTemplate.insert(MongoTemplate.java:1168)
at com.dw.service.first.FirstPraiseService.save(FirstPraiseService.java:63)
下图为debug图,其中红色框中为异常区域,那个部分也跟进去看就是构造了一个MongoCollectionImpl类
s
查到一些蛛丝马迹
网上有说这是mongo-java-driver版本和mongodb-driver版本不一致造成的,但是我将spring-data-mongodb中自带的mongo-driver去掉,单独引用和mongo-java-driver版本一致的mongodb-driver,依然报错,还是未解……
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.6</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>3.12.6</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-reactivestreams</artifactId>
<version>4.0.5</version>
<exclusions>
<exclusion>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>3.0.2.RELEASE</version>
</dependency>
请路过的大神,或者有遇到此类问题的,还请指定,多谢!!!