처음 Redis를 배우기 시작했을 때 온라인 튜토리얼을 따라 Redis와 jedis를 spring boot에 통합한 후 시작 프로젝트가 항상 실패했습니다.
1개의 호환 가능한 org.springframework.data.repository.config.RepositoryConfigurationSource
************** ***을 포함하도록 애플리케이션의 클래스 경로를 수정하세요. **********
애플리케이션을 시작하지 못했습니다
******************************
설명:
org.springframework.data.repository.config.RepositoryConfigurationSource.getAttribute(Ljava/lang/String;)Ljava/lang/String; 메소드를 호출하려고 시도했지만 해당 클래스인 org.springframework가 없습니다. data.repository.config.RepositoryConfigurationSource는 다음 위치에서 사용할 수 있습니다:
jar:file:/D:/m2/repository/org/springframework/data/spring-data-commons/2.0.10.RELEASE/spring-data -commons-2.0.10.RELEASE.jar!/org/springframework/data/repository/config/RepositoryConfigurationSource.class
다음 위치에서 로드되었습니다:
file:/D:/m2/repository/org/springframework /data/spring-data-commons/2.0.10.RELEASE/spring-data-commons-2.0.10.RELEASE.jar
Action:
애플리케이션의 클래스 경로를 수정하여 호환 가능한 단일 버전을 포함하도록 하세요. org.springframework.data.repository.config.RepositoryConfigurationSource
2018-11-22 13:03:51.398 INFO 2196 --- [main] ConfigServletWebServerApplicationContext: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@1a 451d4d 종료 : 시작 날짜 [2018년 11월 22일 목요일 13:03:50 CST]; 루트 오브 컨텍스트 계층
프로세스가 종료 코드 1로 종료되었습니다
그리고 오랫동안 온라인에서 검색했지만 이 오류에 대한 해결책은 없었으며, 우연히 봤는데 프로젝트 시작시 타입 오류도 있었고 jar 패키지 충돌도 있었습니다. 그러다가 블로거가 redis와 jedis의 버전 번호를 바꿔서 해결했습니다. 해당 블로거와 동일하지만 시작 후에도 동일한 오류가 계속 발생합니다.
나중에 버전 번호를 제거하고 "spring-boot-starter-parent"가 자동으로 해당 버전의 jar 패키지를 제공하도록 하면 버전 번호 충돌을 직접 지정할 때 예상치 못한 문제를 피할 수 있다고 생각했습니다. . 그래서 redis와 jedis의 버전번호를 삭제하니 프로젝트가 성공적으로 시작되었습니다
뭔 이상한 오류가..
우선 아래와 같이 내 springboot 구성 redis 부분을 살펴보세요.
분명히 위에서 구성한 redis의 시작 비밀번호는 123456이고,
로컬 Redis 버전은 3.0입니다. .1 in redis.windows.conf 파일의 requirepass 내용도 비밀번호를 123456으로 변경했습니다. 여기서 requirepass 앞의 # 기호를 제거할 때는 반드시 제거할 공간이 남아 있다는 점에 주의하세요. 그렇지 않으면 오류가 보고됩니다:
시작 중 잘못된 인수: 알 수 없는 conf 파일 매개변수: requirepass
이때 이는 redis 비밀번호가 springboot와 일치한다는 의미입니다. 다음 단계는 redis를 시작한 다음 springboot를 실행하는 것입니다.
Redis를 시작하는 방법은 설치 디렉터리에 들어가서 redis-server.exe를 실행한 후 일반적인 프로세스에 따라 시작하는 것입니다. 하지만 일단 springboot가 시작되면 redis에 접속하면 아래 그림과 같이 오류가 발생하게 된다.
처음에는 내 Pom에 도입된 2.9.0 redis 의존성 때문에 발생하는 버전 비호환인 줄 알았다. xml 파일이 있어서 계속 찾아봤는데 Redis 2.9.0의 설치 패키지는 온라인에서 구할 수 없습니다. 반나절을 낭비했습니다.
나중에 이 오류가 비밀번호를 설정하지 않았다는 것을 알려주는 것임을 발견했습니다. 그 이유는 시작 시 잘못된 방법 때문입니다.
로컬 Redis를 시작하는 것을 기억하세요. 비밀번호를 설정한 경우 전체 시작 명령은 다음과 같습니다.
redis-server.exe redis.windows.conf
위 내용은 springboot가 redis 프로젝트 시작을 구성할 때 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!