IntelliJ IDE를 사용해 개발하보면 다음 에러를 만나게 되는 경우가 있다.
Error:java: javacTask: source release 8 requires target release 1.8
뭔가 자바 버전이 맞지 않다는 에러로 보인다.
IntelliJ를 오래 사용한 개발자라면 쉽게 해결할 수 있는 문제이지만 잘 모르면 당황하게 된다.
해결방법
에러 메시지가 전하는 대로 자바 버전 정보를 IntelliJ 설정에서 변경해주면 된다.
우선 Settings 창을 열고 Build, Execution, Deployment > Compiler > Java Compiler 메뉴를 들어가보면 일부 모듈의 Target bytecode version이 다른 것을 볼 수 있다. 저걸 수정해주면된다.
Target bytecode version 값을 수정했을 경우 일단은 잘 동작하는데 메이븐 프로젝트의 경우 아예 pom.xml 파일에 추가해주는게 정신건강에 좋다.
프로젝트에 dependency 추가를 하거나 뭔가 바뀌면 다시 저 설정이 돌아가서 빌드가 안된다. 그러면 또 창을 열고 고쳐줘야 한다.
그냥 pom.xml 파일에 다음을 추가해주자.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
그 밖에
그 밖에 File > Project Structure > Project > Project SDK 로 들어가보면 프로젝트의 SDK와 Language Level을 설정할 수 있다. 이를 설정하면 프로젝트에 속한 모듈에 프로젝트 설정을 기본값으로 적용할 수 있다.
물론 File > Project Structure > Modules 메뉴에서 프로젝트를 구성하고 있는 모듈 별로 SDK와 Language Level을 지정할 수도 있다.
댓글