일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- service name
- 영상편집
- API
- 톰캣
- servicename
- httpservletreqeust
- Docker
- ibatis
- 컨트롤러
- java
- q87
- 스레드
- letterspacing
- MySQL
- JDBC
- oracle
- 키보드
- 오블완
- 티스토리챌린지
- 스레드 덤프
- 안드로이드 스튜디오
- cmd
- SID
- wsdl
- Database
- http
- MariaDB
- Tomcat
- HTML
- 프로세스
- Today
- Total
블로그 이름
[JAVA] 자바 버전 여러 개 활용하기 (프로그램 실행 시 자바 버전 변경) 본문
자바 버전별로 호환되는 프로그램이 다른 경우가 있다.
자바 버전이 다르면 잘 되던게 안되는 현상이 생긴다. 때문에 자바 버전을 여러 개 사용할 수 있는 방법이 있다.
스크립트로 환경 변수를 바꿔주는 방법이다.
JDK에서는 두개의 환경변수를 사용한다. JAVA_HOME과 PATH이다.
JAVA_HOME : JDK의 위치를 나타내는 환경변수
PATH : 운영체제가 프로세스 실행을 위해 참조하는 변수이다.
운영체제는 JDK를 실행시키기위해 JAVA_HOME과 PATH 환경변수를 사용하여 JDK에 접근한다.
Batch File 을 사용하여 환경변수를 변경해주고자 한다.
@echo off
set JAVA_HOME=(JDK파일경로)
set Path=%JAVA_HOME%\bin;%Path%
echo Java version
위 코드를 사용하여 쉘 스크립트를 실행, 환경 변수 변경이 가능하다.
나같은 경우 기본 자바는 11로 설정하고, 특정 프로그램을 실행 할 떄만 17버전을 사용하도록 설정해야했다.
test.bat 배치 파일의 JAR 파일에만 Java 17을 적용하고자 했고, test.bat 내부에서 JAVA_HOME을 임시로 변경하였다.
작성한 배치 파일은 아래와 같다.
@echo off
setlocal
set JAVA_HOME=C;test\java\java17
set PATH=%JAVA_HOME%\bin;%PATH%
java -version
java -jar test..jar
endlocal
차례대로 설명하자면
echo off는 명령어 출력 없이 결과값만 출력
setlocal은 기존 환경 변수 변경 없이 test.bat 파일 내에서만 적용되도로 ㄱ하는 것
그리고 java_home을 java 17 경로로 설정하고 java17의 bin폴더를 path의 최상단에 추가하였다.
java -version 으로 적용된 java 버전을 확인하고
java -jar test.jar 로 jar 파일을 실행하였다.
endlocal로 기존 환경 변수를 유지하도록 (원래 java 버전으로 돌아가도록) 하였다.
이후 test.bat 로 해당 JAR 파일만 JAVA 17로 실행하도록 하였다.
cmd > test.bat 실행
해당 방법으로 기존 java 버전을 유지한 채 특정 자바 버전으로 프로그램을 실행할 수 있다.
'개발 > Java' 카테고리의 다른 글
[JAVA] Java 및 cmd 기본 명령어 (1) | 2025.02.12 |
---|---|
[JAVA] 자바 버전별 차이 및 특징 (8, 11, 17, 21) (0) | 2025.02.12 |
[JAVA] 긴 데이터 줄이는 방법 (StringUtils.abbreviate) (0) | 2025.02.10 |
[JAVA] 서블릿(Servlet) 이란? (0) | 2025.01.20 |
[JAVA] Integer 에서 == 연산자 대신 'equals' 메서드 비교해야 하는 이유 (0) | 2025.01.19 |