본문 바로가기
Java & Spring

Java 버전 관리 도구

by WhoamixZerOne 2023. 11. 18.

✔ 여러 개발 언어의 버전 관리 도구

Node.js의 nvm, Python의 pyenv 등 다른 언어에서는 필요한 버전을 손쉽게 변경하면서 사용할 수 있는 툴이 있습니다.

명령어를 사용해서 버전 목록을 확인하고, 그 버전의 이름을 설치해서 설치한 버전을 사용하기만 하면 됩니다.

 

그동안 Java의 경우 Oracle의 사이트에서 jdk를 다운로드하거나, OpenJDK를 다운로드하여서 환경 변수에 등록해서 사용했었습니다.

Java 8을 사용하다가 Java 17을 사용해야 하는 일이 생겼는데 다운로드해서 환경 변수 작업을 하는 게 귀찮아서 Node.js의 nvm을 떠올리고 Java 버전 관리 도구를 찾아보니 바로 나왔습니다.

 

"SDKMAN"과 "JENV"가 있는 걸 확인했고, 이 중에 저는 "SDKMAN"을 사용했습니다. 고른 특별한 이유는 없이 검색 자료가 좀 더 많았습니다.

 

저는 우분투 22.04.3 LTS에서 진행했습니다.

jenv로 설치하시려는 분은 아래의 블로그를 참고해 보시기 바랍니다.
jenv로 Java 버전 사용/관리하기

 

✔ Ubuntu 22.04.3 LTS

OpenJDK가 설치되어 있다면 아래의 명령어로 삭제를 하고, 환경 변수를 제거해 줍니다.

$ sudo apt-get remove openjdk*
$ sudo apt-get autoremove --purge
$ sudo apt-get autoclean

 

1. SDKMAN 설치

$ curl -s "https://get.sdkman.io" | bash

 

2. SDKMAN 적용

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

 

3. SDKMAN 설치 확인

아래와 같이 버전이 출력되면 설치 완료

$ sdk version

SDKMAN!
script: 버전
native: 버전

 

 

4. 설치 가능한 Java 조회

$ sdk list java

위의 명령어를 입력하게 되면 사진과 같이 여러 Vendor사의 여러 버전 목록들이 나옵니다.

그중에 무료 OpenJDK 구현체인 "Amazon Corretto"나 "Azul Zulu"에 원하는 버전을 설치하면 됩니다.

 

4. Java 설치

아래의 명령어로 java를 설치할 시 기본버전(최신버전) 설치가 됩니다.

$ sdk install java

 

특정 버전의 Vendor사를 설치하고 싶으면 아래의 명령어를 통해 설치하면 됩니다.

설치할 Vendor사의 Version의 Identifier를 입력해 주시면 됩니다.

$ sdk install java 17.0.9-zulu

 

 

5. Java 버전 확인

설치가 완료되면 따로 환경 변수 등록을 하지 않아도 자동으로 등록됩니다.

$ java -version

 

다시 설치 가능한 목록을 조회해 보면 아래와 같이 설치가 되어있다고 나옵니다.

 

6. Java 버전 변경

기존 버전이 아닌 다른 버전을 사용하려면 위에서 하던 방법과 같이 설치를 먼저 해줍니다.

그리고 아래의 명령어를 통해 버전을 변경해 주시면 됩니다.

$ sdk use java 11.0.21-zulu

 

7. 현재 사용 버전 확인

$ sdk current

Using:

java: 11.0.21-zulu

 

8. default 버전 지정

$ sdk default java 17.0.9-zulu

 

9. 설치된 버전 삭제

$ sdk uninstall java 11.0.21-zulu

 

10. SDKMAN 삭제

$ rm -rf ~/.sdkman

 

✔ Window

윈도우에 설치하기 위해서는 WSL or MSYS+MinGW가 설치가 되어 있어야 합니다.

SDKMAN을 실행하려면 bash 환경이 필요하기 때문입니다.

Cygwin은 SDKMAN에서 더 이상 지원을 하지 않는다고 합니다.

 

bash 환경이 준비가 되어 있다면 우분투와 똑같이 진행하면 됩니다.

 

또한 Mac OS도 기본적으로 bash 환경이기 때문에 똑같이 적용이 가능합니다.

 

 

✔ Java Document

Java API 문서를 직접 찾아서 보기 귀찮다면 아래의 주소에서 다운로드해 html 파일로 확인할 수 있습니다.

Java API Doc 다운로드 주소

 

 

 

🔗 Reference

 

Home - SDKMAN! the Software Development Kit Manager

SDKMAN! is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems.

sdkman.io

 

'Java & Spring' 카테고리의 다른 글

자바 정리 (2)  (1) 2024.02.06
자바 정리 (1)  (0) 2024.01.22
[Spring] 인터셉터(Interceptor) 적용  (0) 2022.04.17
JPA @MappedSuperclass  (0) 2022.03.07
JWT Token(JSON Web Token)  (0) 2022.03.07

댓글