No CacheResolver specified, and no unique bean of type CacheManager found

本文介绍在Spring Boot项目中整合Redis与EHCache时遇到的NoCacheResolver错误及解决方案。通过在Redis配置类上使用@Primary注解,确保了CacheManager的唯一性,解决了配置冲突的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习spring boot 时整合了redis再整合ehcahe是报No CacheResolver specified, and no unique bean of type CacheManager found的错,CacheManager 不唯一,各种百度之后发现是要在一个CacheManager 上加上@Primary.于是就在RedisConfig 类里面的

@Primary

@Bean
public CacheManager cacheManager(@SuppressWarnings("rawtypes") RedisTemplate  redisTemplate){
RedisCacheManager rcm = new RedisCacheManager(redisTemplate);
//设置缓存过期时间
        //rcm.setDefaultExpiration(60);//秒
        return rcm;

}

加上@Primary 错误解决.

### 解决 `No targets specified and no makefile found` 错误 当遇到错误信息 `make: *** No targets specified and no makefile found. Stop.` 时,通常意味着当前目录下缺少Makefile 或者 Makefile 中没有定义任何目标。以下是几种常见情况及其解决方案: #### 1. 缺少 Makefile 文件 如果项目根目录确实不存在名为 `Makefile` 的文件,则需要创建该文件并添加必要的构建指令。 对于简单的 C/C++ 项目,可以编写如下基础版本的 Makefile[^1]: ```makefile CC=gcc CXX=g++ TARGET=program_name SRCS=$(wildcard *.c) $(TARGET): $(SRCS) $(CC) $^ -o $@ clean: rm -f $(TARGET) ``` #### 2. 使用其他名称保存 Makefile 有时开发者可能会将 Makefile 命名为大写的 MAKEFILE 或带有扩展名的形式(如 Makefile.mk)。此时可以通过命令行参数显式指定 Makefile 路径来解决问题: ```bash make -f path/to/your_make_file ``` #### 3. Windows 平台特定问题 在 Windows 上运行 MinGW 或 Cygwin 环境时,可能因为默认生成的是 MSVC 工程而非 Unix 风格的 Makefile 导致此问题发生。为了生成适用于这些工具链的 Makefile, 可以通过 CMake 设置不同的生成器选项: ```bash cmake -G "MinGW Makefiles" .. # 或者 cmake -G "Unix Makefiles" .. ``` 之后再执行 `mingw32-make` 即可正常工作[^4]. #### 4. 安装依赖项不足 某些情况下,特别是在 Linux 发行版上尝试编译软件包时,如果没有预先安装所需的开发库和其他依赖关系也可能引发此类警告。确保已经按照官方文档说明完成了所有前置准备工作后再继续操作[^3]: ```bash sudo apt-get update && sudo apt-get install build-essential libpcre3-dev zlib1g-dev openssl libssl-dev ``` 以上方法涵盖了大多数场景下的处理方式;具体到不同项目的实际需求还请参照各自官方指南进行调整优化。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值