본문 바로가기

Spring 3.0 - 4.3

javac: invalid target release - 메이븐 프로젝트 컴파일 시 뜨는 에러

 

다음과 같이 메이븐 프로젝트를 컴파일하려 할 때, 버전 문제로 Build Failed가 뜨는 경우 중 하나입니다.

* full debug logging을 보려면 끝에 -e를 붙임 

 

 

 

javac: invalid target release: 11 

11 버전의 소스파일은 현재 서버에서 컴파일 할 수 없다는 것입니다.

 

 

 

pom.xml에는 소스 컴파일 세팅이 jdk11버전으로 맞춰져 있고, 리눅스 서버의 자바 버전은 jdk1.8로 맞춰진 상태였습니다.

즉, 11버전의 소스파일을 더 낮은 버전인 1.8로 컴파일 하려니까 컴파일 에러가 뜨는겁니다.

pom.xml

 

리눅스 서버에 설정되어 있는 Java 버전 -  jdk1.8로 설정되어 있는 걸 볼 수 있습니다.

 

 

 

해결방법은 소스파일의 세팅부분(pom.xml)에서  컴파일 버전을 낮추거나,

리눅스 서버의 java 버전을 upgrade 시켜주는 방법입니다. 

저는 후자를 택했고 11버전으로 업그레이드 해주었습니다.

 

 

 

 

그 후 다시 프로젝트를 컴파일 해주면 target 폴더에 컴파일한 java파일들 (즉, class파일들) 을 생성해주면서 Build Success 가 뜬 모습을 볼 수 있습니다.

 

 

컴파일 후에는 다음과 같이 배포 가능한 war 파일이 생성된 걸 볼 수 있습니다.