[Spring] JDK 17 설치

date:

Updated:


Categories:

Tags: ,

Spring은 Java 기반 프레임워크이므로, 당연히 Java를 설치해야한다.
인터넷을 찾아보면, JDK를 설치해야한다고 하는데 이 JDK가 뭔지, 어떤 요소로 이루어져 있는지도 함께 알아보자

JDK란?

JDK(Java Development Kit)은 JRE의 상위 집합으로 JRE의 모든 기능과 Java program 또는 application을 개발하고 실행하는데에 필요한 compiler, debugger, JavaDoc, keytool 등과 같은 도구가 포함되어 있다.

JVM vs JRE vs JDK1


JRE의 구성 요소

JRE = JVM + Class Libraries

JDK의 구성 요소

JDK = JRE + Compiler + Debugger + Javadoc + keytool

JVM이란?(Java Virtual Machine)

Java 컴파일러는 Java 코드를 바이트코드로 컴파일한다. 이 바이트코드는 기계어와 다르고, Architecture Dependency가 없다.
JVM은 이 바이트코드를 대상 architecture에 맞게 기계어로 변환한다.
JVM은 OS 및 Architecture에 의존하지 않는 인터페이스를 제공하기 때문에 Virtual이라는 이름이 붙는다.

JRE란?(Java Runtime Environment)

JRE는 JVM과 Class Library들로 원하는 Java bytecode를 실행하기 위한 환경이다.
실행하고자 하는 타겟 바이트코드가 필요로 하는 Library(math, util 등등)을 포함한다
컴파일러는 제공되지 않기 때문에, Java 소스코드를 바이트코드로 변환하는 것이 불가능하다.

즉, JDK를 설치하면 JRE, JVM등도 같이 설치된다.

JDK 17 설치

Oracle JDK 17 Download에서 아키텍처에 맞게 다운로드 한다.
그러나 Oracle JDK 홈페이지에서 설명을 읽어보면 JDK 17은 2024년 10월 이후의 업데이트는 유료이므로, 나는 openJDK를 사용하여 설치하도록 하겠다.
맥 사용자는 Homebrew에서 JDK 17 Download할 수 있다.

$ brew install openjdk@17

위 명령어를 실행하면

$ For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

$ If you need to have openjdk@17 first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc

$ For compilers to find openjdk@17 you may need to set:
  export CPPFLAGS="-I/opt/homebrew/opt/openjdk@17/include"

위와 같이 뜨고, 위를 환경변수와 includepath를 zshrc에 추가해야한다.

$ echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
$ echo 'export CPPFLAGS="-I/opt/homebrew/opt/openjdk@17/include"' >> ~/.zshrc
$ sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

위 명령어를 수행하면 된다.
단, 이 명령어는 본인 환경에 따라 달라질 수 있으므로 brew 설치 시 나오는 것을 보고 확인하면 된다.

그 후 바뀐 ~/.zshrc 파일을 적용하기 위해 아래 명령어를 작성한다.

$ source ~/.zshrc

잘 설치되었는지 확인한다.

$ java -version
openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment Homebrew (build 17.0.9+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.9+0, mixed mode, sharing)

출처

Leave a comment