homebrew๋กœ JDK ์„ค์น˜ ๋ฐฉ๋ฒ•

JDK ๋ž€

  • JDK(Java Development Kit) : ์ž๋ฐ” ์ฝ”๋“œ์˜ ๋ฒˆ์—ญ๊ณผ ์‹คํ–‰์„ ๋‹ด๋‹นํ•˜๋Š” ์ž๋ฐ” ๊ฐœ๋ฐœ ๋„๊ตฌ
  • JDK๋Š” JRE ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ž๋ฐ”ํ”„๋กœ๊ทธ๋žจ์ด JVM์— ์˜ํ•ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.
  • JDK๋ฅผ ์„ค์น˜ํ•˜๋ฉด JVM(Hotspot์ด๋ผ๊ณ ๋„ ํ‘œํ˜„, Java ๊ธฐ์ˆ ์˜ ํ•ต์‹ฌ)๋„ ํ•จ๊ป˜ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

Oracle JDK์™€ OpenJDK

  • ์˜ค๋ผํด์ด ์ฌ์„ ์ธ์ˆ˜ํ•˜๋ฉด์„œ, ์˜ค๋ผํด์˜ Oracle JDK์™€ ์ฌ์˜ OpenJDK๋กœ ๋‚˜๋‰˜์–ด ์กŒ์Šต๋‹ˆ๋‹ค.
  • JDK๋Š” 1.8 ์ด์ƒ๋ถ€ํ„ฐ ์œ ๋ฃŒ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๊ธฐ์—, ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ผ์ด์„ผ์Šค ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋น„์ƒ์—…์ (๊ฐœ์ธPC ๋“ฑ)์ธ ๊ฒฝ์šฐ์—๋Š” ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์œ ๋ฃŒ๋กœ ์ „ํ™˜๋œ Oracle JDK ๋Œ€์‹  ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ OpenJDK ์ž…๋‹ˆ๋‹ค.

Oracle JDK๋Š” ์˜ค๋ผํด์—์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ ์ด์™ธ์—๋Š” OpenJDK์™€ ๋ณ„์ฐจ์ด ์—†์Šต๋‹ˆ๋‹ค.

Oracle JDK = ์ƒ์—…์šฉ, ์‚ฌ์šฉ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋ฌด๋ฃŒ or ์œ ๋ฃŒ
OpenJDK = ๊ฐœ๋ฐœ์šฉ, ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌด๋ฃŒ!

AdoptOpenJDK ๋ž€

  • AdoptOpenJDK๋Š” ์‚ฌ์ „์— prebuild ํ˜•ํƒœ๋กœ java binary๋ฅผ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณตํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ทธ๋ฃน
  • AdoptOpenJDK๋Š” 8, 11 ๋ฒ„์ „์— ๋Œ€ํ•ด LTS ์ง€์›์„ ๋ณด์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

AdoptOpenJDK ์„ค์น˜

๊ธฐ์กด Java ์„ค์น˜ ์—ฌ๋ถ€ ํ™•์ธ

๋ช…๋ น์–ด๋กœ ์ž๋ฐ”๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

> java --version

์ž๋ฐ”๋ฅผ ์ฒ˜์Œ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ์—†๊ฒ ์ฃ ?

OpenJDK ์ €์žฅ์†Œ ์—ฐ๊ฒฐ

์ธํ„ฐ๋„ท ์–ด๋”˜๊ฐ€์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” OpenJDK ์ €์žฅ์†Œ ์œ„์น˜๋ฅผ ์—ฐ๊ฒฐํ•ด์ค๋‹ˆ๋‹ค.

> brew tap AdoptOpenJDK/openjdk

์„ค์น˜ํ•  ์ž๋ฐ” ๋ฒ„์ „ ๊ณ ๋ฅด๊ธฐ

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” Java 8 ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

OpenJDK ๊ฒ€์ƒ‰

brew search openjdk8๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์„ค์น˜ํ•˜๋ ค๋Š” ํŒจํ‚ค์ง€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

> brew search openjdk8
==> Formulae
openjdk@8                                            openjdk                                              openjdk@11
==> Casks
adoptopenjdk8                                        adoptopenjdk8-openj9                                 adoptopenjdk8-openj9-jre-large
adoptopenjdk8-jre                                    adoptopenjdk8-openj9-jre                             adoptopenjdk8-openj9-large

OpenJDK ์„ค์น˜

brew install adoptopenjdk8๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ Java 8 ๋ฒ„์ „์„ ์„ค์น˜ ํ•ฉ๋‹ˆ๋‹ค.

> brew install adoptopenjdk8
==> Downloading https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_mac_hotspot_8u292b10.pkg
==> Downloading from https://github-releases.githubusercontent.com/140418865/bbad4180-a2e0-11eb-8274-f16f6a90729c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210913%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210913T095720Z&X-Amz-Expires=300&X-Amz-Signat
######################################################################## 100.0%
==> Installing Cask adoptopenjdk8
==> Running installer for adoptopenjdk8; your password may be necessary.
Package installers may write to any location; options such as `--appdir` are ignored.
Password:
installer: Package name is AdoptOpenJDK
installer: Installing at base path /
installer: The install was successful.
package-id: net.adoptopenjdk.8.jdk
version: 1.8.0_292-b10
volume: /
location:
install-time: 1631527239
๐Ÿบ  adoptopenjdk8 was successfully installed!

adoptopenjdk8 was successfully installed!๊ฐ€ ๋œจ๋ฉด ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„ค์น˜ ํ™•์ธ

> java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.292-b10, mixed mode)

reference

๋งฅ์—์„œ Brew๋กœ ์ž๋ฐ” ์„ค์น˜ํ•˜๊ธฐ(feat. ์ž๋ฐ”๋ฒ„์ „ ๋ฐ”๊พธ๊ธฐ)
How to install Java JDK on macOS
homebrew๋กœ openjdk ์„ค์น˜ํ•˜๊ธฐ
Mac์—์„œ Open JDK ์„ค์น˜ํ•˜๊ธฐ
[JAVA] OpenJDK ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ํ•˜๊ธฐ (JDK ๋‹ค์šด ๋ฐ ์„ค์น˜ํ•˜๊ธฐ, JDK ๋ž€, ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์žก๋Š”๋ฒ•)
Java ์œ ๋ฃŒ ๋…ผ์Ÿ, Oracle JDK์™€ OpenJDK์˜ ์ฐจ์ด ์ •๋ฆฌ