Gradle's dependency cache may be corrupt

Spring 프로젝트 진행 중에 다음과 같은 오류가 발생 하였다.

Unable to find method 'org.gradle.api.tasks.SourceSet.getCompileConfigurationName()Ljava/lang/String;'.
Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)

The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

다음과 같이 .gradle 폴더에서 dists를 모두 삭제 한 후 재 실행이 필요하다.

의외로 본 포스트를 보러 오시는 분들이 있어서 추가적으로 글을 남기고자 합니다.

상기와 같이 gradle에 대한 Cache를 삭제 해도 상기의 오류가 그대로 유지 되는 경우가 많다.

이 경우는 대부분 gradle version이 현재 개발 중인 Dependency Package와 호환이 되지 않는 경우가 대부분이다.

예를 들어보자.

Intellij로 Spring Initialize 를 이용해서 Spring Boot 프로젝트를 아래와 같이 만들어보자.

(참고로 Spring initalizr는 start.spring.io에서 제공하는 기능과 동일 하다. Intellij 없어도 참고만 하자)

Gradle 프로젝트로 설정한다.

Spring Boot 2.5를 설정하고 Spring Web만 사용하자.

상기와 같이 Gradle 오류가 나는 것을 볼 수 있다.

Gradle Corrupt이다.

이걸 해결하려면 Gradle의 버전을 낮춰 줘야 한다.

참고로 Spring Boot 2.5에서 gradle 7.x이상을 호환한다고 써있는데... 
나는 이런 오류가 난다. 받아들이자... 내가 하면 왜 늘 오류인가

Gradle Version은 프로젝트 하위에 gradle>wrapper 밑에 gradle-wrapper.properties를 수정하면 된다.

릴리즈 리스트는 아래에서 참고 가능하다.

https://gradle.org/releases/

6.9 version 으로 Gradle을 내린 이후에는 잘 작동하는 것을 볼 수 있다.

728x90
반응형

'Web' 카테고리의 다른 글

Web Components Callback Methods & lifecycle  (0) 2021.08.14
Web component (Custom Elements, Shadow DOM, Template)  (0) 2021.08.14
webpack basic with webstorm  (0) 2020.03.27
Vue basic with webstorm  (0) 2020.03.27
javascript object merge  (0) 2020.03.27