노력과 삽질 퇴적물
JAVA: 멀티 jdk 스위칭 본문
[이미지 출처: ???] |
|
▼ 파트1
|
|
1. bat 파일
|
1) bat파일 2) 기타 |
▼ 0. 필요한 파일 |
파일명
|
예시경로 |
jdk-11.0.16_windows-x64_bin | C:\Java\jdk_11.0.16 |
jdk-15.0.2_windows-x64_bin | C:\Java\jdk_15.0.2 |
jdk-17.0.4.1_windows-x64_bin | C:\Java\jdk_17.0.4.1 |
* 기본적으로 스프링부트에서 지원되는 JDK버전 위주로 설치했습니다. 15의 경우 한글이 정상적으로 지원되는 JDK중 최신 버전이라는 포스팅을 봐서 스프링부트에서는 지원 종료가 됐어도 설치했습니다.
* 결론에도 언급하겠지만, JDK를 여러개 쓸 경우 zip버전으로 하는게 나은거 같습니다.
* 도커 / SDKMAN&direnv / mise 도입도 생각해봤지만, 2024년 하반기 기준 250GB인 제 SSD로는 무리더군요. 예산이슈 [2024-10-24]
-> 모아놓은 경로: D:\dev_lib
* 도커 / SDKMAN&direnv / mise 도입도 생각해봤지만, 2024년 하반기 기준 250GB인 제 SSD로는 무리더군요. 예산이슈 [2024-10-24]
▼ 1. bat 파일 |
1) bat파일 📂 |
-> setx실행후,
새 CMD창에서 버전을 확인해야 새로 설정한 JDK로 확인이 가능하다보니
setx 이후에 start cmd /k 로 적용된 JDK버전을 확인하게 절차를 수정.
1 2 3 4 5 6 7 8 9 10 11 12 13 | @echo off echo switch JDK -BEFORE- javac -version java --version set TARGET_JDK=C:\Java\jdk_11.0.16 :: set TARGET_JDK=C:\Java\jdk_15.0.2 :: set TARGET_JDK=C:\Java\jdk_17.0.4.1 setx /m DEV_JAVA "%TARGET_JDK%;%TARGET_JDK%\bin;%TARGET_JDK%\lib;" start "switch JDK -AFTER-" cmd /k "echo switch JDK -AFTER- && echo _____ && %TARGET_JDK%\bin\java.exe -version && %TARGET_JDK%\bin\java.exe --version" pause | cs |
각 bat파일을 D:\dev_lib에 모아놓고, 바로가기를 생성해 '관리자 권한으로 실행'옵션을 걸었습니다.
2) 기타 📂 |
-> JDK에 대한 시스템 변수를 입력해도 java --version등으로 출력되는 정보가 고정되어 있다.
: 튜토리얼에 나온대로 setx를 사용해도 스위칭이 안 되더군요. 혹시나 CMD를 새로 열어서 확인해도 마찬가지;;;
exe/msi등으로 설치하면서 자동으로 입력된 경로가 원인이였습니다.
: 튜토리얼에 나온대로 setx를 사용해도 스위칭이 안 되더군요. 혹시나 CMD를 새로 열어서 확인해도 마찬가지;;;
[C:\Program Files\Common Files\Oracle\Java\javapath]를 삭제했지만, 저는 효과가 없더군요. 이제부터는 zip버전을 애용하는걸로 교훈을
▼ 기타. 참조자료 |
1) 한국어 📂 |
2) 영어 📂 |
How to switch between Multiple JDKs (JAVA) on Windows
windows - How do I start cmd.exe /k with multiple commands? - Stack Overflow
windows - How do I start cmd.exe /k with multiple commands? - Stack Overflow
▼ 기타. 변경 내력 |
일자
|
변경 내력 |
2022-10-15 | 초안 작성. |
2024-10-24 | 포스팅 신규 양식 적용(ver.202408) bat파일 스크립트 편의성 추가 포스팅 제목 변경 (변경전) JAVA: 멀티 jdk 스위칭 (변경후) JAVA: 멀티 jdk 스위칭 배치파일 |
'📂기초 및 세팅 note > 언어. JAVA & JDK 계열' 카테고리의 다른 글
변수 명명 규칙 (0) | 2014.11.27 |
---|---|
JAVA: 맵/콜렉션 선택하기 (0) | 2014.09.21 |
JAVA: 시간과 날짜 (0) | 2013.07.12 |
JAVA: 간단한 응용프로그램 (0) | 2012.08.28 |
JAVA: 스레드 (0) | 2012.08.27 |