티스토리 뷰
프로젝트를 진행하거나 개인 공부를 진행하면서 요구하는 자바 버전이 다른 경우가 생깁니다.
버전을 바꿀 때 마다 일일히 자바 버전을 변경하기 귀찮은 경우가 많기 때문에, 쉽게 변경하는 방법을 소개하겠습니다.
/usr/libexec/java_home -V
MAC OS를 기준으로, 현재 컴퓨터에 설치되어 있는 모든 자바 버젼을 보여주는 명령어입니다. 필요한 버전을 다운받는 방법은 쉽게 찾을 수 있으므로 생략하겠습니다. 해당 명령어를 입력시 아래와 같은 결과를 볼 수 있습니다.
위에서 부터 자바 11, 자바 8 버전이 설치되어 있는 것을 알 수 있습니다. java -version을 입력하면 현재 시스템에 적용되고 있는 버전을 알 수 있습니다.
현재 자바 11버전이 적용되고 있음을 알 수 있습니다. 만약 자바 8 버전으로 변경하고 싶다면
export JAVA_HOME=$(/usr/libexec/java_home -v $version);
export PATH=${PATH}:$JAVA_HOME/bin:
version에 해당하는 버젼을 넣은 후 터미널에 위 두 명령어를 입력하면 됩니다.
java -version로 확인하면 자바 8로 변경된 것을 알 수 있습니다. 그러나 터미널을 다시 켜면 원래 버전으로 돌아간 것을 알 수 있습니다.
위 두 명령어만 입력한 경우 현재 터미널에만 적용되기 때문입니다.
시스템 전체에 적용하기 위해선 터미널 설정파일에 값을 설정해야합니다.
저는 zsh를 사용하고 있기 때문에 홈 디렉토리에 있는 .zshrc파일을 수정하면 되고, bash를 사용하는 경투 bash .bash_profile 파일을 수정하면 됩니다.
vi ~/.zshrc
#.zshrc
jdk() {
version=$1
unset JAVA_HOME;
export JAVA_HOME=$(/usr/libexec/java_home -v $version);
export PATH=${PATH}:$JAVA_HOME/bin:
java -version
}
# Java 1.8
#export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
#export PATH=${PATH}:$JAVA_HOME/bin:
# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
export PATH=${PATH}:$JAVA_HOME/bin:
zshrc안에 기본적으로 사용하고 싶은 버젼을 export하는 명령어를 추가합니다. 그러면 터미널이 실행되기 전 터미널 설정 파일을 읽은 후 시스템에 적용되는 것을 볼 수 있습니다. 현재 자바 11 버젼을 사용하기 위해 자바 8 버전은 주석 처리를 한 상태입니다. 다른 자바 버전이 필요한 경우 해당 버전을 설치한 후 경로를 복사해 같은 방법으로 적용할 수 있습니다.
jdk()는 현재 사용하고 있는 터미널에서 자바 버전을 쉽게 변경하도록 하는 메서드입니다. 터미널에 jdk $version을 입력하면 현재 터미널에서 자바 버전이 변경된 것을 알 수 있습니다. 시스템 전체에 변경되는 것은 아니기에 필요한 경우에 적절히 사용할 수 있습니다.
'JAVA' 카테고리의 다른 글
[Java] 표준 예외를 사용하자 (2) | 2023.03.26 |
---|---|
[JAVA] 스트림에서는 부작용 없는 함수를 사용하자 with 함수형 프로그래밍 (7) | 2023.03.19 |
[JAVA] 스트림은 주의해서 사용하자 (8) | 2023.03.12 |
[JAVA] toString을 재정의하라 (5) | 2023.02.27 |
[JAVA] 람다식(Lambda Expression)과 함수형 인터페이스(Funtional Interface) (14) | 2023.02.25 |
- Total
- Today
- Yesterday
- 파이썬
- dm-zoned 코드분석
- CI/CD
- 스프링 프레임워크
- jpa
- ZNS
- dm-zoned
- 우테코
- 런칭 페스티벌
- 프로젝트
- 스프링MVC
- 팀프로젝트
- 백준
- 5주차 회고
- 스프링 부트
- 알림기능개선기
- 스프링 Logback
- java
- 피움
- Spring
- 환경 별 로깅 전략 분리
- 피움 6주차 회고
- 회고
- 알림개선기
- 8주차 회고
- 네트워크
- 우테코 회고
- 3차 데모데이
- 2차 데모데이
- ZNS SSD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |