[Linux] apt로 설치한 JDK 버전 관리하기/변경하기
2023. 2. 25. 22:26개요
아래의 글은 Open JDK 17과 Open JDK 11가 이미 설치된 우분투 환경에서,
기본으로 설정된 JDK 버전을 변경하는 방법을 서술한 것이다.
보통 먼저 설치된 JDK(가 기본으로 설정이 되어있을텐데, 새로 설치한 다른 버전의 JDK로 변경하려고 한다.
상황
Open JDK 17이 이미 설치된 Ubuntu에서, Open JDK 11을 추가로 설치하고, 기본 Java version을 JDK 11로 변경하려고 한다.
update-alternatives --config 명령어를 이용할 예정
절차
1. Open JDK 17를 먼저 설치하고
# apt install openjdk-17-jdk
2. 현재 버전을 확인해본다.
# java -version
openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu118.04)
OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu118.04, mixed mode, sharing)
3. 그 다음, Open JDK 11을 설치한다.
# apt install openjdk-11-jdk
4. 우리가 기대한 건 JDK 11로 버전이 바뀌냐는 건데, 바뀌지 않고 이전 버전 (JDK 17)로 되어 있다.
우리가 직접 JDK 11로 바꾸는 작업이 필요하다.
# java -version
openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu118.04)
OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu118.04, mixed mode, sharing)
5. 현재, 설치된 Java의 버전들을 확인해본다.
# update-alternatives --list java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
6. 이제 "update-alternatives --config" 명령어를 통해서, 기본으로 설정된 JAVA를 변경해보자.
이때, JDK 11과 맞는 Selection 번호를 입력하자. (아래의 예시에선 1이다. 노란색 음영 표시 하였다.)
# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode 2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode Press <enter> to keep the current choice[*], or type selection number: 1 update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode |
**TMI
javac : .java 파일을 bytecode로 컴파일하는 놈. .class파일을 생성함.
java : javac 명령어로 컴파일한 .class를 실행시키는 놈
7. javac (java complier)도 버전을 바꾸도록 하자.
# update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1711 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 1111 manual mode 2 /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1711 manual mode Press <enter> to keep the current choice[*], or type selection number: 1 update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode |
8. 실제로 자바 버전이 바뀌었는지 확인해보자.
# java --version
openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu218.04, mixed mode, sharing)
우리가 원하는 목표인 JDK 11로 변경이 되었다.
추가적으로,
구체적으로 /etc/alternatives/java 파일 (우분투 OS에서 java를 가리키는 파일)이 어디를 가리키는지 보자.
# ls -al /etc/alternatives/java
lrwxrwxrwx 1 root root 43 Feb 25 13:06 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
기대했던 Open JDK 11을 가리키는 걸 확인했다!
참고한/유용한 자료
Ubuntu 20.04 자바 JDK 설치 및 버전 관리
시간을 절약했으면 아래의 좋아요 부탁드립니다!
'Linux > Linux' 카테고리의 다른 글
[Linux] SSH로 접속하기 (Linux 계열 OS 간) (0) | 2023.03.06 |
---|---|
[Linux] OpenJDK를 wget으로 설치하는 방법 (Manually install method) (0) | 2023.02.26 |
[Linux] 라즈베리파이에 한글폰트 설치 (0) | 2023.01.15 |
Netlink 정리 (0) | 2023.01.06 |
[Linux] syscall 안에 들어가는 상수값들 (0) | 2022.12.15 |