Ubuntu 20.04 - OpenJDK 11 설치, 삭제

Ubuntu 20.04/22.04에서 OpenJDK 11을 설치하는 방법을 소개합니다.

Open JDK 17 설치 방법은 "Ubuntu JDK 17 (OpenJDK) 설치, 삭제"를 참고해주세요.

1. apt로 OpenJDK 설치

먼저 다음과 같이 apt를 업데이트합니다.

$ sudo apt-get update && sudo apt-get upgrade

그리고 다음과 같이 openjdk-11-jdk를 설치합니다.

$ sudo apt-get install openjdk-11-jdk

설치가 완료되면 다음과 같이 설치가 되었는지 확인할 수 있습니다.

$ java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

$ javac -version
javac 11.0.9.1

만약 OpenJRE만 설치하고 싶다면 다음과 같이 설치하시면 됩니다.

$ sudo apt-get install openjdk-11-jre

환경 설정

JAVA_HOME의 시스템 변수 설정이 필요하다면 다음과 같이 ~/.bashrc 파일에 아래 내용을 추가합니다.

$ vim ~/.bashrc
# ~/.bashrc
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
export PATH=$PATH:$JAVA_HOME/bin

다음 명령어로 변경한 설정을 현재 실행된 쉘에 적용할 수 있습니다. 또는 새로운 터미널 창을 실행시키면 됩니다.

$ source ~/.bashrc

다음과 같이 JAVA_HOME이 설정되었는지 확인할 수 있습니다.

$ echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64

2. 직접 설치 (manually install)

JDK Homepage에서 OpenJdk 11 실행 파일을 다운로드받습니다. 파일은 tar.gz로 압축되어있고 다음 명령어로 압축을 풀어야 합니다.

$ tar -xvf openjdk-11_linux-x64_bin.tar.gz
jdk-11/
....

환경설정

java 명령어를 입력하였을 때 실행파일이 실행되도록 연결하면 됩니다.

저의 경우 /usr/lib/jvm/에 Java 실행 파일들이 모여 있습니다. 관리하기 편하게, jdk-11 폴더를 java-11-openjdk-amd64라는 이름으로 변경하고 이곳에 넣어줍니다.

$ sudo cp -r jdk-11 /usr/lib/jvm/java-11-openjdk-amd64

이제 PATH에 OpenJdk 11의 경로를 추가하시고 사용하시면 됩니다.

3. Java 버전 관리 (Alternatives)

PATH에 직접 등록하여도 되지만, 저는 Alternatives라는 툴을 이용하여 OpenJdk11를 관리하려고 합니다. Alternatives를 사용하면 원하는 자바의 버전을 쉽게 변경할 수 있습니다.

Alternatives를 잘 모르시면 Ubuntu에서 Python 버전을 변경하는 방법을 참고하세요.

Alternatives의 원리와 사용하는 방법에 대해서 간단히 정리되어있습니다.

저는 다음과 같이 /usr/bin/java를 alternative로 java를 설정한 상태입니다.

$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-9-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-9-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

다음과 같이 OpenJDK 11을 Alternatives에 추가할 수 있습니다.

$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1

다음 명령어를 입력하시면 OpenJDK 11이 Alternatives에 등록된 것을 볼 수 있고 원하는 버전을 선택하시면 됩니다.

js@js:~/Desktop$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1      auto mode
  1            /usr/lib/jvm/java-9-openjdk-amd64/bin/java      1101      manual mode
  3            /usr/lib/jvm/java-9-openjdk-amd64/bin/java      1101     manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

저는 OpenJDK 11을 선택하였고, 다음과 같이 변경된 것을 확인할 수 있습니다.

$ java --version
openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

4. OpenJDK 삭제

다음 명령어로 설치된 OpenJDK를 삭제할 수 있습니다.

$ sudo apt-get purge openjdk*

다음과 같이 삭제된 것을 확인할 수 있습니다.

$ java --version
bash: /usr/bin/java: No such file or directory
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha