Execution failed for task ':compileJava'.
> invalid source release: 11
IntelliJ로 gradle을 이용해 스프링부트 빌드할 때 발생한 에러다.
발생한 원인은 자바 사용버전과 gradle에 세팅되어 있는 자바 버전이 다르기 때문이다. (gradle보다 하위 버전 사용시)
위에 보이듯 자바 11버전으로 IntelliJ의 Setting과 Project Structure 내의 세부 설정들을 수정해줘야 한다.
프로젝트 내부 폴더의 build.gradle을 열어보면 아래처럼 나온다
sourceCompatibility = '11'은 자바 버전 11을 사용한다는 의미로 해당 에러가 발생시 이 자바 버전과 프로젝트에서 사용한 자바 버전이 일치한지 확인을 해줘야한다(둘 중 하나 바꾸면 될 듯 싶다).
Build and run using: IntelliJ IDEA
Run tests using: IntelliJ IDEA
Gradle JVM: 사용 자바 버전****
Project bytecode version: 원하는 자바 버전
Per-module bytecode version: 각 모듈에 원하는 자바 버전(optional)****
Target JVM version: 원하는 자바 버전****
Project Settings의 Project, Platform Settings의 SDKs에 마찬가지로 gradle에서 설정한 자바 버전에 맞게 설정해준다.
위에서처럼 다 수정해줬는데 같은 에러가 발생시
cmd든 git bash든 javac -version을 통해 버전확인을 해보자.
원하는 자바 버전이 안나올 경우가 있는데 다수의 자바 버전을 사용하고 있는 중일 때 발생할 수 있는 문제다.
환경 변수 설정을 통해 해결이 가능하다. 개인적으로 아래 방법을 추천.
같은 강의 듣고 있었는데 많은 도움이 되었어요!