LoginSignup
2
1

More than 5 years have passed since last update.

Mac でターミナルでJavaのバージョンを direnv で切り替える方法

Posted at

Mac で Java の開発をしており、(IDEではなく)ターミナルから mvn などのコマンドを実行しており、しかも direnv を愛用という人は、僕以外にも何人かいるはずです。

そんな人は、.envrcdirenv edit . で編集できる)で、以下のようにバージョン指定できると便利ですよね?

use java 8

以下の関数を ~/.direnvrc に定義してください。

use_java() {
    if [ "$#" -ne 1 ]; then
    echo "usage: use java VERSION" >&2
    return 1
  fi
  local v
  v="$1"
  if [ "$v" -le "8" ]; then
    v="1.$v"
  fi
  export JAVA_HOME="$(/usr/libexec/java_home -v "$v")"
}
  • direnv は use_xxx 関数を use xxx の形で呼べる
  • Javaのバージョンを切り替えるには環境変数 $JAVA_HOME を定義すれば良い
  • Mac では /usr/libexec/java_home でインストールされた各JavaのHomeディレクトリを参照で

というのを実装しているだけです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1