MSA 환경에서 개발을 하다보니 최대 많게는 Java 8, 11, 17, 21 버전의 프로젝트를 한꺼번에 사용한 적이 있다.
Mac jenv를 활용하면 특정 경로의 JAVA_HOME을 쉽게 변경할 수 있었지만,
Windows 운영체제에서는 어떤 방식으로 할 수 있을지 궁금해졌다.
Window에서도 다양한 jdk 버전을 터미널에서 변환할 수 있는 방법을 구글링하고 직접 테스트 해보았다
1. jdk 다운로드
샘플로 설치해볼 graalvm jdk 21, 17 버전
https://github.com/graalvm/graalvm-ce-builds/releases/tag/jdk-21.0.2
https://github.com/graalvm/graalvm-ce-builds/releases/tag/jdk-17.0.8
각 버전에서 Windows (amd64) download
2. 로컬 디스크 C -> Program Files에 Java 폴더를 생성하고 하단에 jdk 압축 풀기
jdk를 사용할 수 있도록 시스템 환경 변수에 jdk 경로들을 추가해야 한다
3. 환경 변수 추가
(UI 사용 : 해당 포스팅에선 이 방식을 쓰지 않는다)
환경 변수를 추가하기 위해서 아래와 같은 식으로 UI 접근도 되겠지만... 귀찮다
(터미널 사용)
cmd를 관리자 권한으로 실행하자
기본 자바 버전은 21버전으로 설정하고 싶다
JAVA_HOME의 값으로는 21 버전 jdk의 경로를 붙여주었다
# setx /M {시스템-변수명} "{경로}"
setx /M JAVA_HOME "C:\Program Files\Java\graalvm-community-openjdk-21.0.2+13.1"
setx /M PATH "%JAVA_HOME%\bin;%PATH%"
PATH에는 17, 21 버전 둘다 추가해주자
setx /M PATH "C:\Program Files\Java\graalvm-community-openjdk-21.0.2+13.1\bin;%PATH%"
setx /M PATH "C:\Program Files\Java\graalvm-community-openjdk-17.0.8+7.1\bin;%PATH%"
값을 저장한 뒤 cmd를 재시작한다
적용이 잘 됐는지 확인
echo %PATH%
echo %JAVA_HOME%
(UI 확인)
고급 시스템 설정 보기에서도 역시 추가된 변수를 확인할 수 있다
JAVA_HOME 변경 스크립트
scripts 경로 생성
해당 스크립트에서 JAVA_HOME을 변경하는 bat 파일을 추가해놓을 예정
setx /M PATH "C:\Program Files\Java\scripts;%PATH%"
@echo off
set JAVA_HOME={jdk경로}
set Path=%JAVA_HOME%\bin;%Path%
echo Java [버전] activated.
cmd 에 버전명을 치는 것으로 버전 전환!
적용 완료
Ref
https://ichi.pro/ko/windowseseo-yeoleo-jdk-java-gan-e-jeonhwanhaneun-bangbeob-188808991195692
댓글