자바 버전별로 호환되는 프로그램이 다름.
자바 버전이 다르면 잘 되던게 실행이 안되는 현상이 생김.
그래서 자바 버전을 여러 개 사용할 수 있는 방법을 구글링 하던 중 좋은 방법을 찾음.
핵심은 스크립트로 환경변수를 바꿔주는 것.
(참고로 컴퓨터를 껐다 키면, 원래의 환경 변수 값으로 돌아간다.)
JDK에서는 다음 두 개의 환경 변수를 사용한다.
1. JAVA_HOME
2. Path
JDK의 위치를 나타내는 환경변수이다.
운영체제가 어떤 프로세스를 실행시키기 위해 참조하는 변수이다.
Path에 JAVA_HOME을 추가하여 사용한다.
그러면 운영체제가 JDK를 실행시키기 위해 Path 환경 변수를 참조하고, 거기서 JAVA_HOME을 찾게 되어, JDK에 접근할 수 있는 것이다.
컴퓨터에 존재하는 모든 계정에 적용되는 환경 변수
로그인한 사용자의 계정에만 적용되는 환경 변수
그래봤자 내 노트북의 사용자는 나 밖에 없으므로 어떤 환경 변수를 사용해도 문제 없음.
@echo off
set JAVA_HOME={JDK 파일 경로}
set Path=%JAVA_HOME%\bin;%Path%
echo Java {version} activated.
이 코드를 재사용하여 다양한 버전의 자바로 환경 변수 변경이 가능.
즉, 쉘 스크립트를 실행시켜 환경 변수를 바꿔줌.
이때 해당 배치 파일의 제목을 자바 버전으로 해둔다.
@가 붙은 명령어는 프롬프트에 자신의 명령을 복창하지 않음.
명령어가 복창하지 않고 결과만 출력하도록 하는 명령어.
echo off도 하나의 명령어이다.
그래서 echo off로 자신 이외의 명령어의 복창을 금지시키고, @을 통해 echo off 그 자체 명령어의 복창도 금지시킨다. 따라서 모든 명령어의 복창을 금지시키고 결과값만 프롬프트에 출력시킬 수 있다.
해당 경로에 폴더 생성.
이 폴더에 자바 버전별로 배치 파일을 넣어둘 것이다.
Path 환경 변수에 script 파일 경로를 등록해둔다.
그러면 cmd 프롬프트에서 java7과 같은 script 내부 배치 파일을 요청했을 시에 프롬프트가 등록된 경로를 따라 파일을 찾을 수 있다.
그리하여 최종적으로 배치파일을 실행할 수 있다.