본문 바로가기
DevOps

SDKMAN 으로 자바 버전 변경하기( Java 목록 확인 안되는 경우! )

by 맑은안개 2022. 11. 3.

from https://sdkman.io/

들어가며..

SDKMAN은 JVM에서 동작하는 Java로 구현된 플랫폼을 관리해 주는 유용한 툴이다. Java 버전을 포함하여, 흔히 사용하는 Spring boot, Maven, Gradle, Hadoop, ActiveMQ등을 손쉽게 설치, 관리할 수 있다.

 

이번 블로그에서는 SDKMAN으로 Java 버전을 설치, 변경관리하는 방법을 알아본다. 설치가 되어 있지 않다면 아래 설치 가이드 블로그를 참조한다.

관련 글

2022.07.12 - [DevOps] - SDKMAN(SDK 매니저) 윈도우 설치 ( springboot 버전 관리 예 )

 

SDKMAN(SDK 매니저) 윈도우 설치 ( springboot 버전 관리 예 )

들어가며 Gradle, Java, Springboot등 JVM진영에 SDK(Software Development Kit) 를 쉽게 관리해주는 매니저, SDKMAN을 소개한다. Unix는 물론 Windows에서도 사용가능하며, SDK를 버전별로 쉽게 다운로드, 관리할 수 있

youngwonhan-family.tistory.com

 

Java list 확인

sdk list java
================================================================================
Available Java Versions for Exotic
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
No versions available for your platform at this time.
================================================================================
Omit Identifier to install default version 17.0.5-tem:
    $ sdk install java
Use TAB completion to discover available versions
    $ sdk install java [TAB]
Or install a specific version by Identifier:
    $ sdk install java 17.0.5-tem
Hit Q to exit this list view
================================================================================

필자의 경우 위처럼 자바 목록이 확인되지 않았다. 현재 해당 문제가 Issue로 등록되어 있으나 close되지 않은상태,

답변 중 Git bash의 32bit, 64bit 호환 문제가 있었다. 

 

필자도 32bit Git bash를 사용하여 위 문제가 발생하였다. 기존 32bit Git bash를 삭제 후, 64bit로 설치, 

sdk install java 명령을 재실행한 결과, 정상적으로 리스트가 출력되었다. 

================================================================================
Available Java Versions for Cygwin
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
 Corretto      |     | 19           | amzn    |            | 19-amzn
               |     | 19.0.1       | amzn    |            | 19.0.1-amzn
               |     | 17.0.5       | amzn    |            | 17.0.5-amzn
               |     | 17.0.4       | amzn    |            | 17.0.4-amzn
               |     | 11.0.17      | amzn    |            | 11.0.17-amzn
               |     | 11.0.16      | amzn    |            | 11.0.16-amzn
               |     | 8.0.352      | amzn    |            | 8.0.352-amzn
               |     | 8.0.342      | amzn    |            | 8.0.342-amzn
 Dragonwell    |     | 17.0.4       | albba   |            | 17.0.4-albba
               |     | 11.0.16      | albba   |            | 11.0.16-albba
               |     | 8.0.345      | albba   |            | 8.0.345-albba
 Gluon         |     | 22.1.0.1.r17 | gln     |            | 22.1.0.1.r17-gln
               |     | 22.1.0.1.r11 | gln     |            | 22.1.0.1.r11-gln
               |     | 22.0.0.3.r17 | gln     |            | 22.0.0.3.r17-gln
               |     | 22.0.0.3.r11 | gln     |            | 22.0.0.3.r11-gln
 GraalVM       |     | 22.3.r19     | grl     |            | 22.3.r19-grl
               |     | 22.3.r17     | grl     |            | 22.3.r17-grl
               |     | 22.3.r11     | grl     |            | 22.3.r11-grl
               |     | 22.2.r17     | grl     |            | 22.2.r17-grl
               |     | 22.2.r11     | grl     |            | 22.2.r11-grl
               |     | 22.1.0.r17   | grl     |            | 22.1.0.r17-grl
               |     | 22.1.0.r11   | grl     |            | 22.1.0.r11-grl
               |     | 22.0.0.2.r17 | grl     |            | 22.0.0.2.r17-grl
               |     | 22.0.0.2.r11 | grl     |            | 22.0.0.2.r11-grl
               |     | 21.3.3.r17   | grl     |            | 21.3.3.r17-grl
               |     | 21.3.3.r11   | grl     |            | 21.3.3.r11-grl

Java 설치 ( version 11 / 17 )

sdk install java 11.0.17-tem

sdk install java 17.0.5-tem

현재 Java 버전 확인

$ sdk current java

Not using any version of java

- sdkman으로 java를 설치하기 전에 설정한 java는 보이지 않는다.

- sdk use java [TAB] 으로 설치한 java 목록을 확인 한 후, 사용할 버전을 지정한다.

$ sdk use java 11.0.17-tem

Using java version 11.0.17-tem in this shell.

재확인

$ sdk current java

Using java version 11.0.17-tem

Java 버전 변경

추가로 설치한 Java 17버전으로 변경해보자.

$ sdk use java 17.0.5-tem

Using java version 17.0.5-tem in this shell.

Java 환경변수 변경 확인

sdk로 변경한 Java가 환경변수에 등록되어 java -version이 잘 출력되는지 확인.

$ echo $JAVA_HOME
/c/Users/user/.sdkman/candidates/java/17.0.5-tem
$ java -version
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment Temurin-17.0.5+8 (build 17.0.5+8)
OpenJDK 64-Bit Server VM Temurin-17.0.5+8 (build 17.0.5+8, mixed mode, sharing)

 

반응형