My Space

반응형

SDKMAN이란?

- 대부분 유닉스 기반 시스템에서 여러가지 SDK(Software Development Kits)의 병렬 버전을 관리하기 위한 도구

- sdkman은 설치하고 싶은 SDK들을 설치/제거/변경 들을 쉽게 할 수 있도록 도와주는 CLI(Commane Line Interface)를 제공

 

1. SDKMAN 설치 방법

sdkman 파일을 설치

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

path 설정

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

정상적으로 설치되었는지 버전 확인

sdk version

 

2. SDKMAN으로 java 설치 방법

java 버전 리스트 조회

sdk list java

아래와 같이 여러 vendor에 대한 정보들이 나오는데 Identifier을 보고 원하는 버전을 고르면 된다.

$sdk list java   실행결과

원하는 버전 설치

sdk install java 17.0.6-tem

정상적으로 설치 되었는지 java 버전 확인

java -version

다른 버전 java도 설치되어 있는 경우 default 버전으로 변경하기

sdk default java 8.0.362-tem

이후 다시 sdk list java 명령어를 실행해보면 설치된 java버전과 현재 default 버전 정보를 볼 수 있다.

$sdk list java   실행결과

 

이렇게 SDKMAN으로 설치된 경로는 아래와 같다.

cd ~/.sdkman/candidates/java/

.sdkman/candidates/java 내부

 

3. 발생가능 문제점 대응

a) 터미널을 종료하거나 새 터미널을 열었을때, SDK VERSION 명령어가 동작하지 않거나 java -version이 존재하지 않는 경우.

 - zshrc에 선언을 해준다.   

vi ~/.zshrc

.zshrc를 열어 제일하단에 아래의 스크립트를 넣어주고 저장 :wq

export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"

이후 아래와 같이 수정사항을 실행해준다.

source ~/.zshrc

 

b) 외부에서 jdk path를 찾는 경우, .sdkman이 숨김폴더라 안보일때

 - .sdkman에 심볼릭 링크를 걸어줘서 해결 가능

ln -s $HOME/.sdkman/ $HOME/sdkman

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading