HOME > linux > tips

Ubuntu에 OpenJdk 9 설치하는 방법

By JS | 06 Jan 2020

Ubuntu에 OpenJdk 9을 설치하는 방법을 소개합니다.

Apt로 설치

먼저 apt를 업데이트하고 openjdk-9-jdk를 설치하면 됩니다.

$ sudo apt-get update
$ sudo apt-get install openjdk-9-jdk

만약 다음과 같이 openjdk-9-jdk를 찾을 수 없다는 에러가 발생하면, 저장소에서 이 패키지를 찾을 수 없다는 의미입니다.

$ sudo apt-get install openjdk-9-jdk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package openjdk-9-jdk

apt-cache search 명령어로 openjdk 9이 있는지 확인합니다. 만약 있다면 그 이름으로 다시 설치를 시도하면 됩니다. 없다면, OpenJdk 9을 갖고 있는 저장소를 추가하거나 수동으로 설치해야 합니다.

$ sudo apt-cache search openjdk
default-jdk - Standard Java or Java compatible Development Kit
default-jdk-doc - Standard Java or Java compatible Development Kit (documentation)
....
java-package - Utility for creating Java Debian packages
icedtea-8-plugin - web browser plugin based on OpenJDK and IcedTea to execute Java applets
openjdk-11-jre-dcevm - Alternative VM for OpenJDK 11 with enhanced class redefinition

직접 설치하기 (manually install)

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

$ tar -xvf openjdk-9.0.1_linux-x64_bin.tar.gz
jdk-9.0.1/
jdk-9.0.1/include/
jdk-9.0.1/include/jvmticmlr.h
jdk-9.0.1/include/orb.idl
jdk-9.0.1/include/jvmti.h
jdk-9.0.1/include/ir.idl
....

$ ls
jdk-9.0.1

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

$ sudo cp -r jdk-9.0.1 /usr/lib/jvm/java-9-openjdk-amd64
mjs@mjs:~/Desktop$ ls -al /usr/lib/jvm/
lrwxrwxrwx   1 root root    21  4월 21  2018 java-1.11.0-openjdk-amd64 -> java-11-openjdk-amd64
drwxr-xr-x   7 root root  4096  5월 14  2019 java-11-openjdk-amd64
drwxr-xr-x   7 root root  4096 12월 18 19:45 java-8-openjdk-amd64
drwxr-xr-x   9 root root  4096  1월  6 20:18 java-9-openjdk-amd64

이제 Java PATH에 OpenJdk 9을 설정하시고 사용하시면 됩니다.

Alternatives

PATH에 직접 등록하여도 되지만, 저는 Alternatives를 이용하여 OpenJdk9을 등록하려고 합니다.

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-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

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

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

다시 다음 명령어를 입력하시면 Jdk9이 등록된 것을 볼 수 있고 선택하면 됩니다.

mjs@mjs:~/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      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1         manual mode

Java 버전을 확인해보면 OpenJdk 9으로 변경된 것을 볼 수 있습니다.

$ java --version
openjdk 9.0.1
OpenJDK Runtime Environment (build 9.0.1+11)
OpenJDK 64-Bit Server VM (build 9.0.1+11, mixed mode)

참고