티스토리 뷰

Web Development

multiple java version in ubuntu

§무명소졸§ 2020. 2. 20. 17:43

Ubuntu에서 여러 version의 자바를 사용하는 법을 알아보겠다. 우선 터미널에서 "java -version" 를 입력해보자

$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (Zulu 8.42.0.23-CA-linux64) (build 1.8.0_232-b18)
OpenJDK 64-Bit Server VM (Zulu 8.42.0.23-CA-linux64) (build 25.232-b18, mixed mode)


Auzul System의 Zulu 1.8 버전이 설치돼 있다. 이렇게 경로없이 java가 실행 가능한 이유는 환경 변수에 PATH가 잡혀있고 해당 PATH 에 java 실행파일이 존재하기 때문이다. "which java" 명령어로 java 실행 경로를 확인하고 "env|grep PATH" 로 환경 변수 패스를 확인해 보자

$ which java
/usr/bin/java
$ env|grep PATH|grep /usr/bin
PATH=/home/hsu/bin:/home/hsu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

 

하지만 /usr/bin/java 파일은 실행 파일은 아니고 심볼릭 링크파일이다. 아래와 같이 조회를 해보면 실제 실행 파일의 위치를 확인할 수 있다.

$ ls -al /usr/bin/java
lrwxrwxrwx 1 root root 22 Jan  7 16:50 /usr/bin/java -> /etc/alternatives/java
$ ls -al /etc/alternatives/java
lrwxrwxrwx 1 root root 38 Jan  7 16:50 /etc/alternatives/java -> /usr/lib/jvm/zulu-8-amd64/jre/bin/java


LTS 버전인 JDK11을 설치하자

$sudo apt-get install openjdk-11-jdk

#openjdk-11-jdk를 찾지 못하면 아래 명령어를 실행해보자
sudo add-apt-repository ppa:openjdk-r/ppa \
&& sudo apt-get update -q \
&& sudo apt install -y openjdk-11-jdk


update-alternatives 라는 심볼릭 링크를 관리하는 명령어가 있다. 아래 명령어를 실행해서 현재 사용할 수 있는 자바를 확인하자.

$/var/lib/apt/lists$ update-alternatives --list java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/zulu-8-amd64/jre/bin/java

 

이제 심볼릭 링크를 변경하자

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

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/zulu-8-amd64/jre/bin/java        1084200   auto mode
* 1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
  2            /usr/lib/jvm/zulu-8-amd64/jre/bin/java        1084200   manual mode

Press <enter> to keep the current choice[*], or type selection number: 0
update-alternatives: using /usr/lib/jvm/zulu-8-amd64/jre/bin/java to provide /usr/bin/java (java) in auto mode


자바 버전이 11로 변경됐다.

 java --version
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-2ubuntu116.04)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-2ubuntu116.04, mixed mode, sharing)

'Web Development' 카테고리의 다른 글

Runnable Jar (Maven Shade)  (0) 2020.03.12
Multiple Java Version (Mac)  (0) 2020.02.24
jenkins(ubuntu) + github + Startup #3  (0) 2020.02.19
jenkins(ubuntu) + github + Startup #2  (0) 2020.02.05
jenkins(ubuntu) + github + Startup #1  (0) 2020.02.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크