개발환경

[Mac] Java 21 & Gradle 8 설치하기

향로 (기억보단 기록을) 2024. 6. 23. 12:06
반응형

Java 21이 2023년 9월에 출시 된지 1년이 되어가고 있고, 여러 신규 기능이 패치 되었기도 하여서 개인 노트북에 JDK 21 설치를 하기로 했다.

whichjdk.com를 보면 크게 2가지 버전의 JDK를 추천한다.

  • Amazon Corretto
    • AWS의 Amazon Linux 2에서 Java 애플리케이션을 직접 실행하는 경우 최적화된 버전
  • Adoptium Eclipse Temurin
    • 오픈 소스 소프트웨어에 대한 리소스와 전문 거버넌스 모델을 제공하는 Eclipse 재단 산하의 최상위 프로젝트
    • Red Hat, IBM, Microsoft, Azul, iJUG 등 Java 기술에 전략적 관심을 갖고 있는 주요 기업 및 조직으로 구성
    • 이전의 AdoptOpenJDK 프로젝트는 Eclipse Adoptium으로 이전됨

현재 여러 팀에서도 대부분 이 중 하나로 선택해서 사용중이다.

온프레미스 기반의 회사에서는 당연하게도 Temurin을 사용중이고, AWS를 사용중인 팀에서도 요즘 같이 컨테이너 환경에서는 특정 클라우드 벤더사의 JDK만 써야하는 제약이 있지 않다보니 Temurin을 사용하는 경우가 많다.

이 글에서도 속한 회사의 인프라 환경에 크게 제약을 받지 않는 오픈소스인 Temurin 21 로 설치를 진행한다.

Adoptium Eclipse Temurin 21 설치

(설치 안되어있다면) cask 를 설치하고

brew install cask

Temurin 21 설치한다.

brew install --cask temurin@21

설치가 완료되면 잘 설치되어있는지 확인해본다.

$ java --version
openjdk 21.0.3 2024-04-16 LTS
OpenJDK Runtime Environment Temurin-21.0.3+9 (build 21.0.3+9-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.3+9 (build 21.0.3+9-LTS, mixed mode)

jenv 설치

정상혁님의 "여러 개의 JDK를 설치하고 선택해서 사용하기"을 보면 여러 JDK 버전 관리 도구들에 대한 소개가 나온다.

SDKMAN 의 경우 JDK 설치까지 편하게 사용 가능하지만, 버전 변경에 대해 불편한 점이 많다.
반면 jenv는 JDK 설치는 수동으로 진행해야하지만, 그 이후 버전 관리에 대해서는 다양하고 편리하게 사용할 수 있어 여기서는 jenv 로 진행한다.

$ brew install jenv

설치된 jenv 를 등록하기 위해 ~/.bashrc 또는 ~/.bash_profile 혹은 ~/.zshrc에 아래 내용을 추가한다.

export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"

아래와 같이 직접 명령어를 수행해서 추가해도 된다.

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc

아래 명령어들도 차례로 수행한다.

Enable the export plugin

$ eval "$(jenv init -)"
$ jenv enable-plugin export

Restart your shell

$ exec $SHELL -l

jenv 설정이 완료되었다면, 위에서 설치한 temurin21 JDK를 jenv에 등록한다.

$ jenv add /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home

jenv에 잘 등록되었는지 확인해본다.

$ jenv versions
* system (set by /Users/jojoldu/.jenv/version)
  21
  21.0
  21.0.3
  temurin64-21.0.3

JAVA_HOME에도 jenv 로 설정된 버전을 인식할 수 있도록 아래 명령어로 글로벌 JDK 버전을 변경한다.

$ jenv global 21.0.3

(이걸 하지 않으면 Gradle 등에서 JAVA_HOME 인식을 하지 못한다.)

Gradle 8 설치

sdkman은 JDK 외에도 여러 JVM 진영의 도구들을 설치, 관리하기 편리한 도구이다.
그래서 Gradle 은 sdkman을 통해 진행한다.

먼저 sdkman 을 설치한다.

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"

설치된 sdkman 을 통해 Gradle 최신 버전을 설치한다.

$ sdk install gradle 8.8

잘 설치되었는지 아래 명령어로 gradle 버전을 확인해본다.

$ gradle -v
------------------------------------------------------------
Gradle 8.8
------------------------------------------------------------

Build time:   2024-05-31 21:46:56 UTC
Revision:     4bd1b3d3fc3f31db5a26eecb416a165b8cc36082

Kotlin:       1.9.22
Groovy:       3.0.21
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          21.0.3 (Eclipse Adoptium 21.0.3+9-LTS)
OS:           Mac OS X 14.1.2 aarch64
반응형