Ecilpes에서 여태 잘만 사용하던 gradel에서 갑자기 에러가 떴다.
공공 API를 사용하기 위해 webcilent를 활용하려고 webflux 디펜던시를 추가한 후 gradle refresh를 했는데 갑자기 날 반기는 시뻘건 에러로그 때문에 뇌정지가 오면서 폭풍 구글링에 들어갔는데... 아니 난 건드린데 코드 한 줄 추가한 거밖에 없는데??? 정말 거짓 하나 없이 지금까지는 문제가 없던 녀석이 갑자기 피를 토하면서 노트북도 버벅이게 만드니까 멘붕이 왔다.
어찌저찌 잘 해결은 했으니 삽질로그를 작성해보고자 한다.
문제 - Unsupported class file major version 61 에러
현재 개발 중인 환경은 다음과 같다
spring boot 2.6.4
jdk 17
gradle 7.2
에러 코드를 검색해보니 해당 에러는 gradle과 jdk의 버전이 맞지 않아서 생기는 에러라고 했다.
version 뒤의 숫자가 jdk버전에 따라 다르다고 하는데 61은 jdk 17과 호환되지 않는 문제란다.
난 지금까지 아무런 문제없이 개발하고 있었단 말이다.... 왜 갑자기 이런 에러가 터진건지는 모르겠지만 기계는 거짓말을 하지 않으니 내 잘못이겠거니 하고 프로젝트의 jdk버전을 11로 다운그레이드 시켜보기로 했다.
첫번째 시도
사진에는 전부 17으로 설정되어 있는데 해당 부분들을 전부 11로 바꿔서 시도했다.
하지만 여전히 에러는 잡히지 않았음. 당연하다. 나중에 알게 된거지만 내가 쓰고있는 gradle 버전이 jdk11과 호환이 되지 않는 버전이었다.
각 jdk에 맞는 gradle 버전은 gradle 공식 홈페이지에서 Compatibility Matrix 탭에 들어가면 확인할 수 있다.
두번째 시도
build.gradle 코드를 찬찬히 살펴보니 sourceCompatibility의 버전이 11로 설정되어있는걸 발견했다.
혹시나 싶어
sourceCompatibility = '11'
에서
sourceCompatibility = '17'
로 바꾸고 저장 후 refresh를 해보았는데 여전히 에러는 잡히지 않았다.
머리를 싸매다가 결국 포기하고 다음날이 됨.
아무리 생각해도 sourceCompatibility가 문제인 것 같다는 생각이 강하게 들어서 다시 위의 과정을 반복해보았다.
그랬더니 된다???????
아니...어제까지만 해도 안되던게 왜 갑자기 되지??????????? 아무튼 해결은 했는데 여전히 뭔가 찝찝하다...
찝찝한 삽질 해결!
'Study > Trouble Shooting' 카테고리의 다른 글
[삽질로그] Entity 관련 삽질 (0) | 2022.06.08 |
---|---|
[삽질로그] 깃 잔디가 안심어지는 문제 (0) | 2022.05.16 |
[삽질로그] 파이썬 missing 1 required positional argument: 에러 (0) | 2022.05.15 |
[삽질로그] Mybatis String -> LocalDate 형변환 에러 (0) | 2022.02.22 |
[삽질로그] Mybatis를 이용하여 MySQL 연동하기 삽질로그 (0) | 2022.02.20 |