개요
가상 컴퓨터(Ubuntu)에서 java 8 버전을 사용하다가 이번에 11 버전도 설치하게 되었다.
다만, 여러 버전을 설치한 경우 환경 변수가 자동으로 바뀌진 않는지, 기존 프로그램들에는 영향이 없을지 등이 마음에 걸려서 찾아보게 되었다.
목차
- 현재 JAVA 버전
- jdk 설치 방법
- Alternatives
1. 현재 JAVA 버전
다음 명령어를 통해 현재 JAVA 버전을 확인할 수 있다.
$JAVA_HOME의 경우, 엄밀히 말하자면 버전을 확인하는 명령어는 아니고 "JAVA_HOME"이라는 환경 변수에 어떤 값이 들어가있는지 확인할 수 있다.
$ java -version //자바 버전 확인
$ $JAVA_HOME // 환경변수 확인
2. jdk 설치 방법
일단 현재 설치되어있는 java 목록부터 알아보자.
$ sudo update-java-alternatives --list
기존에 apt-get 명령어를 통해 설치된 jdk들이 있다면 그 목록들이 보일 것이다.
하지만 파일을 수동 설치했다면 목록에 존재하지 않을수도 있는데 이 문제는 나중에 다뤄보겠다.
일단 새로운 jdk를 설치하는 방법을 알아보겠다.
기본적으로 jdk 설치는 apt-get을 사용한다. (Ubuntu 기준)
$ sudo apt-get install openjdk-8-jdk
만약 위에서 설치하려는 jdk가 존재하지 않는다는 식의 오류가 뜨면 수동 설치를 진행해야 한다.
a. jdk.java.net/archive/ 에서 원하는 버전의 파일 다운로드
b. 압축 해제 후 원하는 위치로 이동
기본 명령어를 통해 설치한 경우에는 /usr/lib/jvm위치에 jdk 폴더가 존재하므로 동일한 위치에 옮겼는데 이 부분은 선택사항이다.
$ tar -xvf 파일명.tar.gz
$ mv 이동전위치 이동후위치
c. alternatives를 이용한 jdk 등록
새로 설치한 jdk를 alternatives에 추가한다.
맨 뒤에 숫자 1은 Priority에 등록된다.
(priority: 링크 그룹 내에서 우선순위. 숫자가 클수록 높다.)
$ sudo update-alternatives --install /usr/bin/java java 설치한jdk경로/bin/java 1
d. 기본적으로 사용할 java를 선택
$ sudo update-alternatives --config java
d 과정까지 마친 후, 'java -version' 명령어를 통해 새로 설치한 jdk가 기본으로 등록된 것을 확인할 수 있다.
3. Alternatives
jdk 설정을 하며 update-alternatives라는 명령어를 자주 사용했다.
Alternatives에 대해 알고싶다면 먼저 '심볼링 링크'에 대해 알 필요가 있다.
심볼릭 링크란?
- 링크를 연결해 원본 파일을 직접 사용하는 것과 같은 효과를 내는 링크
- Windows의 바로가기와 유사한 개념
- 특정 폴더에 링크를 걸어 NAS, library 원본 파일을 사용하기 위해 사용
Alternatives란?
- 심볼릭 링크에 대한 정보를 생성, 제거, 유지, 표시
- 동일/유사한 기능을 수행하는 여러 프로그램을 단일 시스템에 동시에 설치 가능
옵션
- --install: 심볼릭 링크 생성하기
- --remove: 심볼릭 링크 제거하기
- --auto: 자동 모드 설정 (alternatives에 등록된 심볼릭 링크를 그룹 내에서 priority 가장 높은 값으로 자동 선택)
- --config: 수동 모드 설정
- --display: 심볼릭 링크 그룹 확인
- --list: alternatives에 등록된 모든 심볼릭 링크 정보 확인
기타 옵션들은 참고 3을 보면 된다.
참고
1 jdk 수동설치 codechacha.com/ko/ubuntu-install-open-jdk9/
2 심볼릭 링크 qjadud22.tistory.com/22
3 alternatives 개념 linux.die.net/man/8/update-alternatives
4 alternatives 옵션 skyoo2003.github.io/post/2017/03/17/what-is-alternatives-command
'Develop > CS' 카테고리의 다른 글
[Windows] hosts 파일 수정하기 (0) | 2021.07.19 |
---|---|
[Mybatis] java.sql.SQLException: 해당 위치에 지원되지 않는 SQL92 토큰 에러 (0) | 2021.07.09 |
특정 포트에 대해 방화벽 오픈 되어있는지 확인하기 (0) | 2021.03.18 |
[AWS RDS] Mysql에서 variables 설정 바꾸기 (0) | 2021.03.11 |
[Linux] sudo: cd: command not found (0) | 2021.03.05 |