java - 使用 mongotemplate 时出现 ClassNotFound 异常
问题描述
运行使用 mongo 模板的 Spring Boot 应用程序时出现以下异常:
Caused by: java.lang.ClassNotFoundException: org.springframework.data.mongodb.MongoDatabaseFactory
这是主要代码:
package com.example.redismongo.mongodb;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.mongodb.config.EnableMongoAuditing;
import org.springframework.data.mongodb.core.MongoTemplate;
@Configuration
@EnableMongoAuditing
public class MongoConfiguration {
@Bean
public MongoClient mongo(){
return MongoClients.create("mongodb://localhost:27017");
}
@Primary
@Bean(name = "mongoTemplate")
public MongoTemplate mongoTemplate(){
return new MongoTemplate(mongo(), "test");
}
}
plugins {
id 'org.springframework.boot' version '2.4.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation group: 'org.springframework.data', name: 'spring-data-commons', version: '2.2.8.RELEASE'
implementation group: 'org.springframework.data', name: 'spring-data-mongodb', version: '2.2.8.RELEASE'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
我需要测试 2.2.8 版本,因为这是工作中使用的版本。我正在尝试在我的电脑中测试它的一些功能以测试某些失败场景。我怎样才能使 2.2.8 工作?
解决方案
尝试添加spring-boot-starter-data-mongodb而不是spring-data-mongodb。
推荐阅读
- java - 如何解决此问题:方法不会覆盖或实现来自超类型 @Override 的方法
- flutter - 颤振:列表
不是 Map 类型的子类型 - python - 如何正确发送 json 序列化程序
- python - 试图了解 zip(*) 迭代在 Python 中的工作原理
- flutter - 在杀死应用程序之前颤振进行服务调用
- c++ - 如何在 Eigen 中的函数之间传递稀疏矩阵作为参考
- trace32 - 如何在 T32 中读取 CPU 名称
- docker - Docker -- 在 docker commit 时仅修改 FROM 值
- asp.net-identity - 在自定义 IDP 设置中,我应该在哪里放置和管理个人资料信息?
- android - 创建可点击的 SVG(地图)并显示有关国家/地区的信息