본문 바로가기

TroubleShooting/Java

javac: invalid target release: 11 문제 해결

728x90

- maven pom 설정

<plugins> 
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <inherited>true</inherited>
        <version>3.6.2</version>
        <configuration>
          <fork>true</fork>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <optimize>true</optimize>
          <encoding>UTF-8</encoding>
          <compilerVersion>${java.version}</compilerVersion>
        </configuration>
      </plugin>
    </plugins>

intelliJ 프로젝트 설정 - 프로젝트 - SDK - java 11 로 맞췄는데, 

[ERROR] javac: invalid target release: 11
[ERROR] Usage: javac <options> <source files>

mvn 빌드 시 이런 오류가 난다면 mvn 명령어가 사용하는 java 버전을 확인해보자.

- set JAVA_HOME 변경
- PATH 에 java11\bin 설정

을 했는데도 동일한 오류가 난다면 이번에는 mvn -version 을 확인해보자.

 

> mvn -version
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-28T00:06:16+09:00)
Maven home: C:\apache-maven\bin\..
Java version: 1.8.0, vendor: Oracle Corporation, runtime: C:\openjdk-1.8.0
Default locale: ko_KR, platform encoding: MS949
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
PS D:\workspace\test-webapp> 

intelliJ 에서 JAVA_HOME 을 변경했는데도 intelliJ terminal 에서 위와 같이 나와서 (윈도우 cmd 에서는 변경된 java home 으로 보임), 그래서 intelliJ 를 재시작하고 나니깐 아래와 같이 정상적으로 나오고 mvn package 명령이 정상 동작한다.

> mvn -version
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-28T00:06:16+09:00)
Maven home: C:\apache-maven\bin\..
Java version: 11.0.2, vendor: Oracle Corporation, runtime: C:\openjdk-11.0.2
Default locale: ko_KR, platform encoding: MS949
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"