概要
pyenv のように java にも jenv という環境ごとに java コマンドが使えるツールがあったので使ってみました
jenv をインストールしそこから java をインストールしプロジェクト設定してから使う方法を紹介します
環境
- macOS 15.2
- jenv 0.5.7
jenv インストール
- brew install jenv
.zshrc 設定
-
vim ~/.zshrc
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
システム java インストール
jenv 自体も java なのでシステムでグローバルに使える java が必要になります
Homebrew でインストールした openjdk を Mac のシステムが使用する openjdk に設定し jenv add で追加します
- brew install java
-
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
-
jenv add "$(/usr/libexec/java_home)"
- jenv versions
* system (set by /Users/kakakikikeke/.jenv/version)
23
23.0
23.0.1
openjdk64-23.0.1
jenv で java のインストール
どうやら pyenv のように jenv 自体に install コマンドはなくシステムにインストールした複数のバージョンの java をプロジェクトごとにコントロールすることができる機能のようです
なので別のバージョンを使いたい場合は
-
brew install openjdk@21
-
sudo ln -sfn /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-21.jdk
-
jenv add /Library/Java/JavaVirtualMachines/openjdk-21.jdk/Contents/Home
という感じでシステムインストールした java のように別名でリンクしリンクした java の JAVA_HOME を jenv add します
これで jenv で管理される java のバージョンが増えました
- jenv versions
* system (set by /Users/kakakikikeke/.jenv/version)
21
21.0
21.0.5
23
23.0
23.0.1
openjdk64-21.0.5
openjdk64-23.0.1
動作確認
実際にプロジェクトを作成して java を切り替えてみます
- mkdir javaTest
- cd javaTest
- jenv local 23
- vim Test.java
class Test {
public static void main(String[] args) {
System.out.println(System.getProperty("java.version"));
}
}
- javac Test.java
- java Test
23.0.1
- jenv local 21
- javac Test.java
- java Test
21.0.5
最後に
jenv を macOS 上で使ってみました
pyenv や rbenv のようにそれ自体にインストールする機能はなくあくまでもマシン上にインストールした複数の java のバージョンをプロジェクトごとに切り替える機能のようです
なので java のインストールは Homebrew が担当し切り替えを jenv で行う感じです
Homebrew で Java をインストールしたい際に PATH に java コマンドを通すコマンドが表示されますがそれを追加してしまうと常にその Java を使ってしまうので以下は .zshrc などに記載しないようにしましょう
export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"
0 件のコメント:
コメントを投稿