스프링 프로젝트를 하는 중 간혹 어떤 작업자가 JRE/JDK 버전 9 이상에서 사용 가능한 List.of()
를 사용하고 다른 작업자들은 9 미만 버전을 이용하여 cannot find symbol List.of()
컴파일 오류가 발생하는 등의, 버전이 서로 다르게 설정되어 발생하는 문제가 적지 않게 일어난다. 어떤 옵션의 JRE/JDK 버전을 프로젝트 개발 표준에 따라 9 이상으로 설정해도 다른 곳에서 9 미만으로 설정된 곳이 있어 문제가 발생할 수 있으니 정말 번거롭지만 스프링 프로젝트를 시작할 때 다같이 프로젝트 요구 사항에 따라 관련된 모든 설정값을 설정하고 가는 것이 바람직하다.
다음은 인텔리제이 아이디어에서 JRE/JDK 버전 설정이 필요한 항목들이다. 여기에 너무 잘 정리되어 있어서 굳이 이 글을 작성해야 했나 싶기도 하다...
Settings > Build, Execution, Deployment > Build Tools
Gradle > Gradle JVM:
항목 변경 Settings > Build, Execution, Deployment > Compiler > Java Compiler
Project bytecode version:
항목 변경 Project Structure > Project Settings > Modules
Sources > Language level
항목 변경Dependencies > Module SDK:
항목 변경Project Structure > Project Settings > Project
SDK:
항목 변경Language level:
항목 변경Run/Debug Configurations> config 선택 > Server
JRE:
항목 변경