(설치확인)
java -version
terminal 환경변수와 실행공간에서 java라는 프로그램을 찾아 실행
option을 version으로 주는 것 입니다.
sudo apt update
우분투에 내장된 Advanced Package Tool (APT)를 사용하여
패키지들을 업데이트 하는 것 입니다.
패키지는
커널 및 라이브러리 버전의 배포판 환경에 맞추어 빌드한 실행파일을 압축한 것이며,
패키지 저장소 리스트는 /etc/apt/sources.list 입니다.
sudo apt install openjdk-8-jdk
sudo apt install openjdk-16-jdk
apt를 통해서 자바를 설치하는 명령어 입니다 8, 16버전을 선택했습니다.
sudo vi ~/.bashrc
환경변수를 설정해야하므로 vi에디터로 터미널의 런커맨드가 모여있는 ~/.bashrc를 수정해줍니다.
만약 본인이 zsh를 사용한다면
sudo vi ~/.zshrc
을 사용해주면 됩니다.
vi를 잘 모르신다면 i(insert mode)를 눌러 입력모드로 들어가 입력하고
esc 이후 :wq를(저장 후 나가기)를 통해 나가시면 됩니다.
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
를 마지막에 추가해주면 됩니다.
해당 명령어는 JAVA_HOME이라는 환경변수를 설정하는 것 입니다.
export : 환경변수 선언
$ : 변수사용
readlink : 해당 링크의 실제 위치를 읽음
-f 옵션 : 주어진 이름의 모든 요소에 있는 모든 심볼릭 링크를 하위 연속적으로 따라가 정규화합니다
| : 이전 명령어의 값을 그대로 다음 명령에 넣어줍니다.
정확히는 이전 명령의 출력 파이프라인을 복사해 다음 명령어의 입력 파이프라인에 넣는 것 입니다.
sed "s:bin/java::" : 문자열의 마지막 bin/java 를 제거해줍니다.
JAVA_HOME은 usr/bin/java에 있는 "바로가기" (심볼릭 링크)인 것 입니다.
source ~/.bashrc
update-alternatives --list java
만약 해당 명령어를 통해서 자바 버전을 바꾸었는데도 변하지않는 다면
shell에 있는 java_home 변수를 확인해 보시길 바랍니다.
저는 etc/profile에 java_home 변수가 있어서 안바뀌는 문제가 있었습니다.