반응형
- 20191001 마크다운 변환완료
javac 버젼 문제발생
Maven 으로 컴파일시 다음과 같은 에러가 날때가 있다.
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
Failure executing javac, but could not parse the error:
javac: invalid target release: 1.7
Usage: javac <options> <source files>
use -help for a list of possible options
위와같은 에러가 난다면 pom.xml
에 정의된 version
과 지금설치되어있는 javac
의 version
이 틀려서 나는 문제인것이다.
문제해결
JAVAC 의 버젼확인
다음과 같은 명령어로 javac 의 버젼을 확인한다.
$ javac -version
javac 1.6.0_27
위의 에러의 경우 1.7 버젼이 필요하다고하니... 1.7 이 아닐경우 1.7로 업데이트 해야한다.
JAVAC 1.7 버젼 업데이트방법
다음과 같은 명령어로 java 를 업데이트한다.
sudo apt-get install openjdk-7-jdk
이제 시스템에 업데이트 된 JAVA 를 적용시킨다,.
sudo update-alternatives --config javac
대체 항목 javac에 대해 (/usr/bin/javac 제공) 2개 선택이 있습니다.
선택 경로 우선순 상태
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk-i386/bin/javac 1061 자동 모드
1 /usr/lib/jvm/java-6-openjdk-i386/bin/javac 1061 수동 모드
2 /usr/lib/jvm/java-7-openjdk-i386/bin/javac 1051 수동 모드
기본 사항[*]을 사용하려면 엔터, 다른 것을 사용하려면 번호를 입력하십시오: 2
대체 항목 javac에 대해 (/usr/bin/javac 제공) 2개 선택이 있습니다.
선택 경로 우선순 상태
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk-i386/bin/javac 1061 자동 모드
1 /usr/lib/jvm/java-6-openjdk-i386/bin/javac 1061 수동 모드
2 /usr/lib/jvm/java-7-openjdk-i386/bin/javac 1051 수동 모드
기본 사항[*]을 사용하려면 엔터, 다른 것을 사용하려면 번호를 입력하십시오: 2
update-alternatives: /usr/lib/jvm/java-7-openjdk-i386/bin/javac 사용해서 수동 모드에서 /usr/bin/javac javac) 제공.
위에서 java 버젼을 7 로 바꾼다음에 javac 의 버젼을 확인해보면..
$ javac -version
javac 1.7.0_55
1.7 로 바뀐것을 알수있다.
주의사항
만약 /usr/bin/javac 를 강제로 링크를 바꿀경우...
라이브러리나 몇가지 path 등등이 꼬여서 제대로 컴파일이 되지 않으니 반드시 update-alternatives --config javac 명령어로 버젼을 바꾸는것을 추천한다.
반응형