I do not want java on my system. But sometimes it is needed. These are notes how to make it available without having it permanentaly enabled.
❯ brew search jdk
==> Formulae
openjdk ✔ openjdk@11 ✔ openjdk@17 ✔ openjdk@21 openjdk@8 jd mdk cdk
==> Casks
adoptopenjdk graalvm-jdk@17 microsoft-openjdk microsoft-openjdk@21 oracle-jdk-javadoc@21 sapmachine-jdk semeru-jdk-open@17
gama-jdk graalvm-jdk@21 microsoft-openjdk@11 oracle-jdk oracle-jdk@17 semeru-jdk-open semeru-jdk-open@21
graalvm-jdk jdk-mission-control microsoft-openjdk@17 oracle-jdk-javadoc oracle-jdk@21 semeru-jdk-open@11 semeru-jdk-open@8
❯ brew info openjdk@11
==> openjdk@11: stable 11.0.26 (bottled) [keg-only]
Development kit for the Java programming language
https://openjdk.java.net/
Installed
/opt/homebrew/Cellar/openjdk@11/11.0.26 (667 files, 295.4MB) *
Poured from bottle using the formulae.brew.sh API on 2025-02-09 at 10:33:59
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/o/[email protected]
License: GPL-2.0-only
==> Dependencies
Build: autoconf ✘, pkgconf ✘
Required: freetype ✔, giflib ✔, harfbuzz ✔, jpeg-turbo ✔, libpng ✔, little-cms2 ✔
==> Caveats
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
openjdk@11 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.
If you need to have openjdk@11 first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"' >> /Users/vit/.zsh/.zshrc
For compilers to find openjdk@11 you may need to set:
export CPPFLAGS="-I/opt/homebrew/opt/openjdk@11/include"
==> Analytics
install: 25,058 (30 days), 78,407 (90 days), 316,068 (365 days)
install-on-request: 22,023 (30 days), 66,256 (90 days), 253,801 (365 days)
build-error: 28 (30 days)
The key is the line in the output above
export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"