AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

jenv の使い方

いーっつも忘れるのでメモです。

Java の調達

これは brew なりなんらかの方法で複数バージョンインストールできるように適時管理してください、という感じ。

(他の env 系と違って jenv はパッケージマネージャー部に相当する -build を持たない様子

jenv add

管理対象一覧に追加するやつ。

直接指定する場合

jenv add ${JAVA_HOME}

brew でインストールした openjdk@17 のバージョン 17.0.12 を指定する場合は以下。

❯ jenv add /opt/homebrew/Cellar/openjdk@17/17.0.12/libexec/openjdk.jdk/Contents/Home
openjdk64-17.0.12 added
17.0.12 added
17.0 added
17 added

自動でガッとバッといれる

java_home -V で認識している一式を一気にインストールする。

ちなみに ln -sfn を実行しておかないと OpenJDK の類が認識されないので注意。

❯ sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
❯ jenv add "$(/usr/libexec/java_home)"

jenv remove

管理対象一覧から削除するやつ。

jenv remove ${識別子}

識別子は以下で確認できる。 実際に削除するとシンボリックリンクが消えるだけ。

❯ gls ~/.anyenv/envs/jenv/versions
total 0
drwxr-xr-x  8 donbulinux staff 256  1 30  2024 .
drwxr-xr-x 25 donbulinux staff 800  1 30  2024 ..
lrwxr-xr-x  1 donbulinux staff  74 10 16  2023 17 -> /opt/homebrew/Cellar/openjdk@17/17.0.8.1/libexec/openjdk.jdk/Contents/Home
lrwxr-xr-x  1 donbulinux staff  74 10 16  2023 17.0 -> /opt/homebrew/Cellar/openjdk@17/17.0.8.1/libexec/openjdk.jdk/Contents/Home
lrwxr-xr-x  1 donbulinux staff  74 10 16  2023 17.0.8.1 -> /opt/homebrew/Cellar/openjdk@17/17.0.8.1/libexec/openjdk.jdk/Contents/Home
lrwxr-xr-x  1 donbulinux staff  72  1 30  2024 17.0.9 -> /opt/homebrew/Cellar/openjdk@17/17.0.9/libexec/openjdk.jdk/Contents/Home
lrwxr-xr-x  1 donbulinux staff  74 10 16  2023 openjdk64-17.0.8.1 -> /opt/homebrew/Cellar/openjdk@17/17.0.8.1/libexec/openjdk.jdk/Contents/Home
lrwxr-xr-x  1 donbulinux staff  72  1 30  2024 openjdk64-17.0.9 -> /opt/homebrew/Cellar/openjdk@17/17.0.9/libexec/openjdk.jdk/Contents/Home

❯ jenv remove 17.0
JDK 17.0 removed

❯ jenv remove 17
JDK 17 removed

❯ jenv remove 17.0.8.1
JDK 17.0.8.1 removed

❯ jenv remove 17.0.9
JDK 17.0.9 removed

❯ jenv remove openjdk64-17.0.8.1
JDK openjdk64-17.0.8.1 removed

❯ jenv remove openjdk64-17.0.9
JDK openjdk64-17.0.9 removed