프로그래밍/Solution Architecture

프로그램 별로 다른 JDK Version 설정하기

병인 2023. 5. 8. 11:48

서론

Scouter(현 시점 기준 v.2.17.1) 라는 APM 오픈소스를 사용하려고 하니 문제가 생겼다.

Local의 Java 환경은 JDK 17을 사용 중인데, Scouter Server는 JDK 1.8만 지원하고 Scouter Client는 jdk 11 이상만 지원하는 문제이다.

첫번째 시도

처음에는 Scouter Server의 기준에 맞게 JDK 1.8로 환경 변수를 낮게 설정하여 Server를 실행하고 JDK 17로 환경 변수를 변경해 Scouter Client를 실행하려고 했으나 너무 뻘짓이라고 생각했다.

본론

사수님 사랑합니다.

아무리 생각해도 답이 나오지 않고 구글에 검색해도 환경변수를 편집하라는 답 밖에 없었다.

환경 변수를 편집하지 않는 선에서 해결하려고 짱구를 굴려봐도 답이 나오지 않아 사수님께 여쭤봤고 1분 만에 답을 알려주셨다. 🤦‍♂️ 잃어버린 2시간

 

- Eclipse(.ini)

-vm
C:\Program Files\Java\jdk-17\bin (jdk 경로)

- cmd

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_202 (jdk 경로)
set path=%JAVA_HOME%\bin (path 경로)
java -jar ./server-boot.jar (jar 경로)

cmd 방식의 경우 cmd 창이 종료되면 세팅했던 경로 또한 날라간다.

이런 식으로 만들면 시스템 환경변수를 건들지 않고 여러 개의 JDK를 사용할 수 있다.

결론

오픈소스라지만 같은 시스템에서 JDK를 다르게 쓰는 Scouter가 나쁘다! 라는 것은 변명이고, java 설정에 대해 조금 더 공부 할 필요성을 느꼈다.