728x90
우분투에 자바를 설치하는 몇가지 방법이 있습니다.
이 글에선 설치가 비교적 간단하고 자바 버전관리도 쉽다고 판단되어 package 관리자를 통한 설치 방법과 JDK 버전을 쉽게 변경하는 방법을 공유합니다.
간단한 설치 프로세스는 아래와 같습니다.
- apt 패키지 정보 업데이트
- 자바 JDK 설치
- bashrc에 JAVA_HOME 추가
- bashrc 실행
간단한 자바 버전 변경 프로세스는 아래와 같습니다.
- JAVA 버전 확인
- update-alternatives 명령어를 통해 자바 버전 변경
- JAVA 버전 확인
설치 방법
1. apt 패키지 인덱스 정보를 아래 명령어로 업데이트하여 자바 리스트를 갱신합니다.
sudo apt update
2. 원하는 자바 버전을 설치합니다. 이 글에선 8버전과 16버전을 선택하였습니다.
sudo apt install openjdk-8-jdk
sudo apt install openjdk-16-jdk
3. bashrc에 JAVA_HOME을 추가합니다.
- export 명령어에 대한 설명은 이 글 맨 아래에 추가하였습니다.
- 많은 application(Apache Hadoop 등)은 자바 위치를 찾기위해 JAVA_HOME 변수를 참조합니다. 이에 다른 어플리케이션에서 쉽게 사용할 수 있도록, JAVA_HOME을 설정합니다.
sudo vi ~/.bashrc
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
4. bashrc 변경 사항을 적용하기 위해 아래 명령어를 통해 bashrc를 1회 실행합니다
source ~/.bashrc
버전 변경 방법
1. Ubuntu에서 application들의 다양한 버전 관리를 담당하는 update-alternatives 명령어를 이용하여 설치된 자바 버전을 확인합니다.
# 현재 자바 버전 확인
java -version
# 설치된 자바 버전 리스트 확인
update-alternatives --list java
2. 버전을 변경하고자 한다면 아래 명령어 2가지를 실행한 후 java와 javac의 버전을 변경해 줍니다.
sudo update-alternatives --config java
sudo update-alternatives --config javac
3. 현재 자바 버전이 변경되었는지 확인합니다.
java -version
update-alternatives에 대한 추가 설명
- /usr/bin/java 는 우분투에서 자바 명령어를 실행하기 위해 자바 설치시 자동으로 추가된 심볼릭 링크이며, /etc/alternatives/java 를 가르키고 있습니다.
- /etc/alternatives/java 는 update-alternatives 에서 관리 중이며, 실제로 설치된 자바 디렉토리를 가르킵니다. sudo update-alternatives --config java 명령어를 통해 자바 디렉토리를 변경 가능합니다.
- 링크를 정리하자면 /usr/bin/java → /etc/alternatives/java → actual java directory 의 형태를 가지고 있습니다. 아래 readlink 명령어를 통해 보이는 link가 확인 가능합니다.
bashrc에 export 명령어가 하는 일
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
1. readlink -f /usr/bin/java 는 해당 심볼릭 링크가 가르키는 최종 directory나 file의 경로를 가지고 옵니다(위 그림 참조)
2. sed "s:bin/java::" 는 문자열의 마지막 bin/java 를 제거해줍니다.
3. export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") 를 통해 JAVA_HOME이 update-alternatives가 관리하는 directory로 동적으로 변경하게 해줍니다.
java 파일을 gedit 등으로 열어 보려 하였으나, 00 00 등 어셈 어만 보여서 포기...
처음 너무 난잡한 버전들에 지쳐서 수동 설치시 gedit ~/.bashrc에 export JAVA_HOME 만 해주면 될 거 같았는데....
예전 버전은 클래스 패스, 패스도 다 설정 해줘야 하고, 최신 버전은 자바 홈만 설정하면 된다고 하네;;;
아 ㅜㅠㅠㅠ 걍 업데이트를 안하면 좋을텐데;;;
728x90
'소프트웨어 (과거) > 웹 서버 등 개발 환경 세팅' 카테고리의 다른 글
7. 신형 톰캣 (tomcat 9.0.56 tar.gz) 설치 방법 (0) | 2022.01.20 |
---|---|
6. 신형 이클립스 (2021.12 이름이 이렇다...) 설치 방법 (0) | 2022.01.20 |
4. 과거를 생각하면....... (0) | 2022.01.20 |
3. 구형 개발 Tool 자바 1.6(=SE6) & 인디고 이클립스 설치 (0) | 2022.01.20 |
2. 우분투 설치 (0) | 2022.01.20 |