반응형
오류 원인
redis를 이용하여 데이터를 저장하려고 Redisconfig를 아래와 같이 수정하였다.
@Bean
RedisConnectionFactory redisConnectionFactory() {
return new LettuceConnectionFactory("hostname", 6379);
}
원래는 아래와 같은 코드였다.
@Bean
JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration redisConfig = new RedisStandaloneConfiguration();
redisConfig.setHostName("192.168.0.20");
redisConfig.setPort(6379);
return new JedisConnectionFactory(redisConfig);
}
스프링 부트2에서부터는 Jedis를 지원하지 않는다고 하여, 스프링 버전을 낮추거나 아니면 Lettuce로 바꿔야한다고 하여 나는 후자의 방법을 선택하였다. 그리고 나서 어플리케이션을 실행시켰더니 Factory method 'redisConnectionFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: io/lettuce/core/AbstractRedisClient
이런 에러를 뱉었다.
알고보니 빌드의 낮은 버전의 충돌때문이라고 한다.
build.graddle에 아래의 임플리멘테이션을 추가해주었다.
implementation 'io.lettuce:lettuce-core:6.2.1.RELEASE'
처음에 추가했을때는 코어5 버전이었는데 업그레이드 할 수 있는 표시가 떠서 최신버전으로 업그레이드 하여 빌드하였다.
그리고 나서 어플리케이션을 돌렸더니 잘 돌아간다. 헤헹
반응형
LIST