티스토리 뷰
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
링크