사용자 도구

사이트 도구


sdkman

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
sdkman [2015/10/14 09:12]
kwon37xi 만듦
sdkman [2022/04/29 09:54] (현재)
kwon37xi
줄 4: 줄 4:
   * Linux, Mac, Windows Powershell 등 지원.   * Linux, Mac, Windows Powershell 등 지원.
  
 +===== 유사 애플리케이션 =====
 +  * [[java:jabba|Jabba]]
 +  * [[java:jenv|jenv]]
  
 +===== 기본 명령 =====
 +  * [[https://sdkman.io/usage|sdkman usage]]
 +<code sh>
 +sdk list java # java 의 각 버전 목록 보여줌
  
 +sdk install java 8.0.212.hs-adpt # 특정 버전 Java 설치
 +
 +sdk use scala 2.12.1 # 특정 버전 사용
 +
 +sdk default scala 2.11.6 # 시스템 디폴트 지정
 +
 +sdk current java # 현재 사용중인 버전
 +
 +sdk upgrade springboot # 업그레이드
 +
 +sdk upgrade # 모든 업그레이드 대상 목록
 +
 +sdk selfupdate # sdkman 자체 업그레이드
 +
 +sdk update # 패키지 정보 업데이트
 +</code>
 +
 +===== JDK 설치 =====
 +  * https://sdkman.io/jdks
 +<code sh>
 +# 전체 목록
 +sdk ls java
 +
 +# Amazon Corretto
 +sdk install java x.y.z-amzn
 +
 +# GraalVM
 +sdk install java x.y.z-grl
 +
 +# Liberica
 +sdk install java x.y.z-librca
 +
 +# AdoptOpenJDK
 +sdk install java x.y.z-adpt
 +
 +# OpenJDK
 +sdk install java x.y.z-open
 +
 +# SapMachine
 +sdk install java x.y.z-sapmchn
 +
 +# Zulu
 +sdk install java x.y.z-zulu
 +</code>
 +
 +===== sdkman API =====
 +  * sdkman 은 자체 API 서버에서 최신 각 candidate의 버전 목록을 읽어온다.
 +  * 해당 API 서버 주소는 ''~/.sdkman/bin/sdkman-init.sh'' 에서 ''SDKMAN_CANDIDATES_API''값으로 확인 가능하다.
 +
 +<code sh>
 +echo $SDKMAN_CANDIDATES_API
 +> https://api.sdkman.io/2
 +</code>
 +
 +  * ''https://api.sdkman.io/2/candidates/<candidate>/<platform>/versions/all''
 +  * linux용 java 버전 목록은 다음과 같이 읽을 수 있다.
 +
 +<code sh>
 +echo $SDKMAN_PLATFORM
 +> linux 는 linux64
 +
 +curl --silent "$SDKMAN_CANDIDATES_API/candidates/java/$SDKMAN_PLATFORM/versions/all" \
 +   | sed 's/,/\n/g'
 +</code>
 +
 +===== 설치된 버전 목록 확인 script =====
 +  * ''SDKMAN_CANDIDATES_DIR'' 환경변수를 통해 확인할 수 있다.
 +  * ''ls "$SDKMAN_CANDIDATES_DIR/<candidate>" | grep -v "current"''
 +
 +<code sh>
 +ls "$SDKMAN_CANDIDATES_DIR/java" | grep -v "current"
 +
 +17.0.1-tem
 +21.3.0.r17-grl
 +</code>
 +
 +===== 참조 =====
 +  * [[https://www.grailbox.com/2021/04/switch-among-java-versions-fzf-and-sdkman/|Switch Among Java Versions: FZF and SDKMAN! – Grailbox]]
 +  * [[https://gist.github.com/inoperable/8d29907bd58d1298207b3a70960ec03a|sdkman to fzf quick and dirty selection of installed JDKS with fzf in zsh (should work also in bash, i guess)]]
sdkman.txt · 마지막으로 수정됨: 2022/04/29 09:54 저자 kwon37xi