반응형
해당 환경에서는 MacOS 환경에서 Java JDK를 변경하는 방법에 대해서 공유합니다. 해당 글에서는 Java JDK 11 버전에서 Java JDK 17 버전으로 올리는 작업 위주로 작성하였습니다.
1) 자바 JDK 버전 확인
💡 현재 Java JDK 11 버전임을 확인하였습니다.
# java version 확인
$ java --version
💡 [참고] Java JDK 버전 및 LTS 버전에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다
2) 자바 JDK 버전 변경 방법 -1 : homebrew를 이용한 방법
💡 MacOS에서 ‘homebrew’를 통해서 자바 JDK를 변경하는 방법에 대해서 공유합니다.
1. Java JDK 16 이하 버전을 설치하는 경우에만 아래의 명령어를 수행합니다.
💡 Java JDK 16 이하를 설치하는 경우에는 cask를 이용하여서 설치를 수행합니다.
# 서드파티 저장소에 adoptopenjdk/openjdk를 저장합니다.
$ brew tap adoptopenjdk/openjdk
# macOS 운영체제에서 애플리케이션을 설치하고 관리하는 데 사용되는 명령어를 설치합니다.
$ brew install cask
[ 더 알아보기 ]
💡brew tap이란?
- 사용자가 다른 레포지토리를 등록하고 해당 레포지토리에서 패키지를 설치할 수 있도록 지원합니다. 즉, 사용자가 별도의 저장소 공간을 등록하여 사용할 수 있도록 합니다.
💡brew cask 란?
- macOS에서 사용할 수 있는 앱과 프로그램을 설치, 업그레이드, 관리할 수 있습니다. brew cask를 사용하면 GUI 애플리케이션도 CLI에서 쉽게 설치할 수 있습니다.
2. 설치 가능한 OpenJDK를 확인합니다.
💡 해당 명령어를 통해서 설치 가능한 OpenJDK를 확인합니다.
# 설치 가능한 OpenJDk를 확인합니다
$ brew search openjdk
3. 터미널에 JDK를 설치합니다.
3.1. Java 16 이하 버전을 설치하는 경우
# java jdk 8 버전 설치
$ brew install --cask adoptopenjdk8
# java jdk 11 버전 설치
$ brew install --cask adoptopenjdk11
[ 더 알아보기 ]
💡 adoptopenjdk17 버전이 존재하지 않는 이유는?
- AdoptOpenJDK는 2021년 07월 24일 OpenJDK 16 버전 이후로는 ‘Eclipse Adoptium’로 이전하였다고 합니다.
- 참고 링크 : https://adoptopenjdk.net/releases.html?variant=openjdk16&jvmVariant=hotspot
3.2. Java JDK 17 이상 버전을 설치하는 경우
# java jdk 17 버전 설치
$ brew install openjdk@17
[ 더 알아보기 ]
💡 adoptopenjdk8와 openjdk@8의 차이점은 무엇인가?
- 두 가지 패키지의 서로 다른 점은 각각 다른 단체에서 유지보수가 되고 있다는 점입니다. adoptopenjdk8의 경우 AdoptOpenJDK에서 유지보수를 하고 openjdk@8의 경우 Homebrew에서 유지보수합니다
4. 현재 사용중인 쉘을 확인합니다.
💡 사용 중인 쉘에 따라서 추후 환경파일을 수정합니다.
$ echo $SHELL
💡 [참고] 쉘의 종류
쉘의 종류 | echo $SHELL | 설명 |
Bash (Bourne-Again SHell) | /bin/bash | macOS에서 기본적으로 제공되는 쉘입니다. |
Zsh (Z Shell) | /bin/zsh | macOS Catalina 이후에서는 기본 쉘로 사용되고 있습니다. |
5. 환경 파일 수정 : zshell을 사용하는 경우
5.1. 설치된 openjdk@17의 정보를 가져옵니다.
# brew로 설치된 앱에 대한 정보를 가져옵니다.
$ brew info openjdk@17
5.2. 활성화 된 JDK를 확인합니다.
# 현재 활성화 된 Java JDK 확인
$ /usr/libexec/java_home -V
5.3. zshrc 환경 파일을 변경합니다.
💡 zshrc 환경 파일을 변경하고 변경 사항을 저장합니다.
# 에디터로 zshell 환경 설정 파일을 엽니다
$ vi ~/.zshrc
# Java JDK
export JAVA_HOME_11=$(/usr/libexec/java_home -v11)
export JAVA_HOME_17=$(/usr/libexec/java_home -v17)
export JAVA_HOME=$JAVA_HOME_11
#export JAVA_HOME=$JAVA_HOME_17
💡 환경 파일을 적용합니다.
# 환경 파일을 적용합니다.
$ source ~/.zshrc
6. 환경 파일 수정 : bash을 사용하는 경우
6.1. 설치된 openjdk@17의 정보를 가져옵니다.
# brew로 설치된 앱에 대한 정보를 가져옵니다.
$ brew info openjdk@17
6.2. bash_profile 내에 JAVA_HOME을 수정합니다
# bash 환경 파일에 접근합니다.
$ vi ~/.bash_profile
# JAVA_HOME 경로를 위에서 가져온 정보를 기반으로 붙여넣고 추가 정보를 입력합니다.
JAVA_HOME=/usr/local/Cellar/openjdk@17/17.0.7/Contents/Home
💡 JAVA_HOME path를 가져오는 방법
# 설치된 자바 버전을 확인합니다.
$ /usr/libexec/java_home -V
6.3. bash를 갱신하고 설치를 확인하여 적용이 잘됨을 확인합니다.
# bash를 시스템 환경에 반영합니다.
$ source ~/.bash_profile
# java 버전을 확인합니다
$ java --version
3) 자바 JDK 버전 변경 방법 -2 : 다운로드 파일 적용
💡 해당 부분에서는 JDK를 다운로드하여서 적용하는 방법에 대해서 공유합니다.
1. 참고
💡 Spring Boot 공식 홈페이지에서 17 버전 사용 시 Java JDK 17 버전에서는 ‘BellSoft Liberica JDK Version 17’을 추천하고 있기에 이에 대해 적용해 봅니다.
2. JDK를 다운로드합니다.
💡 BellSoft Liberica JDK version 17 버전으로 다운로드를 합니다.
3. 설치를 확인합니다.
💡 설치한 JDK를 확인하고 저장된 경로를 별도로 저장해 둡니다.
# 현재 활성화 된 Java JDK 확인
$ /usr/libexec/java_home -V
4. bash_profile 내에 JAVA_HOME을 수정합니다.
# bash 환경 파일에 접근합니다.
$ vi ~/.bash_profile
# JAVA_HOME 경로를 위에서 가져온 정보를 기반으로 붙여넣고 추가 정보를 입력합니다.
JAVA_HOME=/Library/Java/JavaVirtualMachines/liberica-jdk-17.jdk/Contents/Home
5. 설치 확인
# bash를 시스템 환경에 반영합니다.
$ source ~/.bash_profile
# java 버전을 확인합니다
$ java --version
5) 기타 참고 : 변경된 JDK에 따라서 프로젝트에 대한 설정
💡 기타 참고 사항으로 JDK를 변경한 이후에 프로젝트에 적용하는 방법을 포함하였습니다.
1. 프로젝트 플랫폼 SDK 세팅
💡 Proejct Settings - Platform Setting - SDKs - 설치한 Java JDK를 선택합니다.
2. Gradle JVM 변경
💡 Settings - Build, Excution, Deployment - Build Tools - Gradle - Gradle Project - Gradle JVM을 변경합니다.
오늘도 감사합니다. 😀
반응형
'Java > 아키텍처 & 디자인 패턴' 카테고리의 다른 글
[Java/디자인패턴] 싱글턴 패턴(Signleton Pattern) 이해하기 -1 : 정의 및 종류 (1) | 2023.12.02 |
---|---|
[Java] Spring Framework 주요 특징 이해하기 : DI, IoC, POJO, AOP (1) | 2023.10.28 |
[Java] Gradle 버전 확인 및 변경 방법 (2) | 2023.06.27 |
[Java] 개발 환경에 따라 각각 환경 파일 구성 방법: application.properties (0) | 2023.06.07 |
[Java] 스레드(Thread) 이해하기 -1 : 구조, 상태, 예시 (0) | 2023.04.17 |