admin管理员组文章数量:1599532
在尝试使用Redis存储用户信息的时候,加入Redis依赖并编码之后,SpringBoot项目启动报错如下:
1) 添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2. 添加配置文件::在resource下新建conf.之后新建redis配置文件
#Matser的ip地址
redis.hostName=localhost
#端口号
redis.port=6379
#如果有密码
#redis.password=123456
#客户端超时时间单位是毫秒 默认是2000
redis.timeout=10000
#最大空闲数
redis.maxIdle=300
#连接池的最大数据库连接数。设为0表示无限制,如果是jedis 2.4以后用redis.maxTotal
#redis.maxActive=600
#控制一个pool可分配多少个jedis实例,用来替换上面的redis.maxActive,如果是jedis 2.4以后用该属性
redis.maxTotal=1000
#最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
redis.maxWaitMillis=1000
#连接的最小空闲时间 默认1800000毫秒(30分钟)
redis.minEvictableIdleTimeMillis=300000
#每次释放连接的最大数目,默认3
redis.numTestsPerEvictionRun=1024
#逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
redis.timeBetweenEvictionRunsMillis=30000
#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
redis.testOnBorrow=true
#在空闲时检查有效性, 默认false
redis.testWhileIdle=true
3.创建redis配置类*:
@Configuration
@AutoConfigureAfter(RedisAutoConfiguration.class)
public class RedisConfig {
//Redis配置文件需要序列化
@Bean
public RedisTemplate<String, Serializable> redisCacheTemplate(LettuceConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Serializable> template = new RedisTemplate<>();
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setConnectionFactory(redisConnectionFactory);
return template;
}
}
4.编码:
....
@Autowired
private RedisTemplate redisTemplate;
.......
//方法内--存:
redisTemplate.opsForValue().set("id",openId);
//取
log.info("当前用户的信息是:"+redisTemplate.opsForValue().get(key));
5.运行报错
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration.pageableCustomizer
...
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
...
2019-12-24 11:28:27.163 INFO 14684 --- [ main] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@2eee3069: startup date [Tue Dec 24 11:28:25 CST 2019]; root of context hierarchy
java.lang.IllegalStateException: Failed to introspect Class [org.springframework.data.web.config.SpringDataWebConfiguration] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
...
6解决:
根据提示去查找依赖中的相关配置,发现自己原来的相关依赖如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
......
//Redis相关配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
注意 : 标签 exclusion
的作用是引入spring-boot-starter-web的jar包的时候不需要引入它下面的com.fasterxml.jackson.core包,这里我们将 exclusions
这段注释掉就不再报错,就是选择在依赖spring-boot-starter-web的同时依赖他下面的jackson-databind.
原因尚未知晓
本文标签: orgspringframeworkconditionErrorprocessing
版权声明:本文标题:Error processing condition on org.springframework.boot.autoconfigure.data.web.XXX 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728324833a1154299.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论