프로그래밍/Linux

[Linux] 자바 버전 변경하기

Lou Park 2022. 7. 24. 13:49

JAVA 16버전을 사용하는 서버에서 안드로이드 빌드를 하는걸 구현하는 도중 "jlink executable /usr/lib/jvm/java-16-openjdk-amd64/bin/jlink does not exist."라는 오류가 발생했었는데, java-11-openjdk 아래에만 jlink가 설치되어 있었다. 그래서 16에서 11로 버전을 변경하게되었는데, 방법을 살펴보자.

 

1-1. 빠르고 쉬운 방법

update-alternatives를 이용하면된다.

$ update-alternatives --config java


대체 항목 java에 대해 (/usr/bin/java 제공) 2개 선택이 있습니다.

  선택       경로                                       우선순? 상태
------------------------------------------------------------
  0            /usr/lib/jvm/java-16-openjdk-amd64/bin/java   1611      자동 모드
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      수동 모드
  2            /usr/lib/jvm/java-16-openjdk-amd64/bin/java   1611      수동 모드

Press <enter> to keep the current choice[*], or type selection number: 1

원하는 항목에 해당하는 번호를 입력하고 java -version을 치면 바뀌어있는 것을 확인할 수 있다.

 

1-2. 수동으로 바꾸기

직접 심볼릭 링크를 확인하고 기존의 연결을 끊고 새로 생성하는 방법이다.

# 현재 JAVA 경로를 확인한다. 
# 심볼릭 링크로 연결되어있음을 알 수 있는데, 
$ ls -al /etc/alternatives/java

lrwxrwxrwx 1 root root 43  7월 24 12:42 /etc/alternatives/java -> /usr/lib/jvm/java-16-openjdk-amd64/bin/java

# 링크를 끊어준다.
$ rm -rf /etc/alternatives/java


# 원하는 JAVA버전으로 새로 링크를 생성한다.
ln -s /usr/lib/jvm/java-11-openjdk-amd64/bin/java /etc/alternatives/java

 

2. JAVA_HOME 변경

.bashrc 등에서 바뀐 JAVA_HOME 값을 업데이트 해준다.

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64