curl -s "https://get.sdkman.io" | bash
목표
윈도우에서 SDKMAN 설치 및 간단 사용법
자바 개발을 하다 보면 프로젝트마다 다른 JDK 버전을 사용해야 하는 경우가 자주 발생한다.
기존에는 새로운 JDK를 다운로드하고, 압축을 풀고, 환경변수를 수정하는 번거로운 과정을 반복해야 했다.
SDKMAN은 이러한 불편함을 해결해주는 도구다. 단 몇 개의 명령어만으로 다양한 JDK 버전을 설치하고, 전환, 관리할 수 있다.
하지만 SDKMAN은 기본적으로 Unix/Linux 환경을 위해 만들어졌기 때문에 윈도우에서 사용하려면 추가적인 설정이 필요하다.
윈도우에서 SDKMAN을 설치하는 방법에 대한 자료들이 있지만, 실제로 따라해보면 예상치 못한 오류들을 만나게 된다.
이 글은 직접 겪은 시행착오를 바탕으로 윈도우 환경에서 SDKMAN을 성공적으로 설치하고 사용하는 방법을 정리 해둔다.
1. SDKMAN이란?
SDKMAN(Software Development Kit Manager)은 여러 SDK 버전을 관리하는 도구다. 주요 기능은 다음과 같다.
- 간편한 설치: sdk install java 11.0.21-tem 명령 하나로 JDK를 설치한다.
- 버전 전환: sdk use java 17.0.9-tem 명령으로 즉시 버전을 전환한다.
- 환경변수 자동 관리: JAVA_HOME, PATH 등을 설정 해준다.
- 다양한 SDK 지원: Java뿐만 아니라 Spring Boot CLI 등도 관리 및 사용 가능하다. ( 원하는 버전의 springboot 설치 가능 )
2. 윈도우에서 SDKMAN을 사용하기 위한 준비
윈도우는 Unix 명령어를 직접 실행할 수 없다. 따라서 Unix 호환 환경이 필요하다. 두 가지 옵션 중 GitBash를 기준으로 작성.
- Git Bash
- WSL(Windows Subsystem for Linux)
3. Git Bash 설치
3.1 다운로드
https://git-scm.com/download/win에서 Git for Windows를 다운로드한다. 시스템에 맞는 버전(64-bit 또는 32-bit)을 선택한다.
3.2 설치 옵션 설정
설치 과정에서 추천 옵션. 은근 편하다
- Windows Explorer integration: 탐색기에서 우클릭으로 Git Bash를 실행할 수 있다.
나머지 옵션은 기본값으로 진행한다.
4. SDKMAN 설치
4.1 Git Bash 실행
시작 메뉴에서 "Git Bash"를 검색하여 실행한다. 검은 터미널 창이 열리면 성공이다.
4.2 필수 패키지 확인
SDKMAN 설치에는 curl과 unzip이 필요하다. Git Bash에는 curl이 포함되어 있지만 unzip은 없을 수 있다.
4.2.1 Zip설치
아래 링크 접속 후 스템에 맞는 버전을 선택 후 설치 한다.
다운로드 후 실행파일을 통해 7zip을 설치 후 설치경로로 이동한다.
기본경로는 C:\Program Files\7-Zip 이다.
7z.exe 를 복사 후 zip.exe 로 파일명을 변경 한다.
이후 시스템속성 -> 환경변수 -> 시스템변수 -> Path 더블클릭 -> 환경변수 편집 -> 새로만들기 -> 환경변수로 복사한 zip.exe 추가
zip version
7-Zip 25.01 (x64) : Copyright (c) 1999-2025 Igor Pavlov : 2025-08-03
cmd 를 실행하여 zip version 으로 설치 확인 및 환경변수 확인
4.3 SDKMAN 설치
이제 SDKMAN을 설치할 준비가 되었다. git bash를 실행하여 다음 명령을 실행한다.
curl -s "https://get.sdkman.io" | bash
설치가 시작되면 다음과 같은 과정이 진행된다:
- SDKMAN 스크립트 다운로드
- ~/.sdkman 디렉토리 생성
- 필요한 파일 복사
- 초기 설정 진행
4.4 설치 확인
설치가 완료되면 다음 메시지가 표시된다:

지시대로 새 터미널을 열거나 터미널에서 가이드 하는 source 명령을 실행한다:
$ source ~/.sdkman/bin/sdkman-init.sh
설치 및 환경변수 설정이 성공했는지 확인한다:
sdk version
SDKMAN 버전이 표시되면 설치가 완료된 것이다.
5. SDKMAN 사용법
5.1 기본 명령어
SDKMAN의 주요 명령어를 알아본다:
# 도움말
sdk help
# 사용 가능한 SDK 목록
sdk list
# 특정 SDK의 버전 목록
sdk list java
sdk list gradle
sdk list maven
5.2 Java 설치 및 관리
가장 많이 사용하는 Java 관리 방법이다:
# Java 11 설치 (Temurin 배포판)
sdk install java 11.0.21-tem
# Java 17 설치
sdk install java 17.0.9-tem
# Java 21 설치
sdk install java 21.0.1-tem
# 설치된 Java 버전 확인
sdk list java | grep installed
6.3 버전 전환
프로젝트별로 다른 Java 버전을 사용할 수 있다:
# 임시로 Java 11 사용
sdk use java 11.0.21-tem
# Java 17을 기본 버전으로 설정
sdk default java 17.0.9-tem
# 현재 사용 중인 버전 확인
sdk current java
java -version
마무리
SDKMAN을 사용하면 윈도우에서도 Unix 환경처럼 편리하게 SDK를 관리할 수 있다.
초기 설정이 다소 복잡하지만, 한 번 설치하면 프로젝트마다 다른 Java 버전을 사용하는 것이 매우 간단해진다.
특히 레거시 프로젝트(Java 8)와 최신 프로젝트(Java 17,21)를 동시에 개발해야 하는 경우, SDKMAN은 필수 도구가 된다.
더 이상 환경변수를 수동으로 변경하거나, 여러 JDK를 설치하는 번거로움을 겪지 않아도 된다.
이 글이 윈도우 환경에서 SDKMAN을 설치하는 데 도움이 되기를 바랍니다.
설치 과정에서 문제가 발생한다면 Git Bash를 관리자 권한으로 실행하거나, 방화벽 설정을 확인해보길 바란다.
다음 게시글로는 SDKMAN을 이용하여 Spring Boot CLI 설치 후 사용하는 방법을 작성 하겠다.
'자바' 카테고리의 다른 글
[JAVA] 옵셔널(Optional)이란 ? (0) | 2023.11.06 |
---|---|
[JAVA] isEmpty() 와 isBlank() 차이점 (0) | 2023.11.06 |
[JAVA] Indexof() , LastIndexof() 문자열에서 특정 문자나 문자열 위치( 인덱스 ) 찾기 (0) | 2023.09.19 |
[JAVA] 문자열에서 특정 부분 문자열 추출하기 substring (0) | 2023.09.19 |