프로젝트 빌드가 안될 때, 구글링 해서

위 과정을 하나씩 진행하라고 한다.
1번 리빌드도 해보고 2번 캐쉬삭제도 해봤는데, 해결되지 않아
에러명을 찾아서 다시 구글링해보니 문제는 SDK였다.
자바 프로젝트에서 Lombok을 사용하고 빌드를 해보니, java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’
에러가 발생했는데, JDK21 이상이면 롬복에서 현재 지원하지 않는 JDK라서 에러가 발생한다고 한다.


SDK 17 확인하고,


Gradle JVM 도 같이 설정해주니, 빌드가 되었다.
개념이 약해서 호환문제? SDK, JVM 같이 확인해줄 생각을 못했다.
팀원한테 물어봐서 겨우 해결했다. 약 2시간이나 붙들고 있었는데, 한 번에 해결되니 묵은 채증이 내려가는 기분이었다.
형님께 너무 감사드린다 ! 😂👍

SDK(Software Development Kit) 란?
- SDK는 말 그대로 소프트웨어 개발을 위한 키트(도구 모음)을 의미한다.
- SDK는 개발자가 필요로 하는 다양한 도구, 라이브러리, 문서 등을 제공한다.
- JDK는 SDK의 일종으로 자바로 개발을 하기 위한 SDK를 의미한다.
JDK(Java Development Kit) 란?
- JDK는 자바로 소프트웨어를 개발하기 위한 도구 모음을 의미한다.
- JDK에는 JRE를 비롯한 자바 컴파일러('javac'), 디버깅 도구, 빌드 도구 등이 포함되어 있어 자바 소스 코드를 작성하고 컴파일하며 실행할 수 있는 환경을 제공한다.
JVM (Java Virtual Machine) 란?
- JVM은 자바 가상 머신으로 자바 어플리케이션이 실행되는 환경이다.
- 자바 코드는 실제로 JVM 위에서 실행되며, 운영체제 별로 JVM이 존재하며 각 운영체제에 맞는 JVM이 필요하다.
- JVM은 자바 바이트 코드를 해당 운영체제에 맞는 기계어로 변환하여 준다.
-> 관계도를 더 공부해보자!
참고자료
https://12tree.tistory.com/entry/intellij-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B9%8C%EB%93%9C-%EC%98%A4%EB%A5%98%EC%8B%9C-%EB%B9%8C%EB%93%9C%EA%B0%80-%EC%95%88%EB%90%A0%EB%95%8C 프로젝트 빌드 오류 시
https://mycodegate.com/251/ SDK 변경
https://itkw87.tistory.com/5 SDK, JDK, JVM 개념 설명