Twitter Facebook github

jEnvでバージョンの異なる複数のJavaを管理する

Rubyのrbenv、nodeのnodeenvなどと同じように、Javaにも複数のバージョンを管理するための*env、jEnvがあります。

今回は真っ新のMacにJavaの開発環境を構築する際に、1.7、1.8、9(EA)をインストールすることにしたので、その手順をまとめておきます。

HomebrewでJDKをインストール

jEnvでは、nodeenvなどと異なりjEnvコマンドからJDKをインストールすることはできません。
先にJavaをインストールする必要がありますが、今回は後々アップデート等が楽なHomebrew経由でインストールしようと思います。
もちろんOracleのホームページから直接インストーラーで導入してもかまいません。

Javaの古いバージョン、またEAのバージョンをbrewで導入するには、versionsのリポジトリをtapする必要があります。

バージョンを付けずにインストールすると、執筆時点ではJava8がインストールされます。
今回はその前後の7と9も追加でインストールしておきます。

インストールしたJDKの一覧を表示します。

jEnvを使ってみよう

バージョンの違う3つのJDKをインストールできたので、次はjEnvをインストールして簡単に切り替えられるようにします。

Homebrewでインストール

jEnvのインストールは公式のページ www.jenv.be に簡潔に纏まっています。

今回はHomebrew経由でJDKをインストールしたので、jEnvもbrewを使うことにします。

シェルの起動スクリプトに追記する

次に、シェルが起動する際にjEnvが呼ばれるよう、.bash_profileか.zshrcに追記します。
私はzshを使っているので、bashを使っている場合は読み替えてください。

書き換えたら、ターミナルを開き直すかsourceで再読込して変更を反映させます。

jEnvにインストールしたJDKを登録

java_home -v を使うと、そのJDKへのパスを返してくれるので、これを使ってjEnvに3つのバージョンを登録します。

グローバルにバージョンを切り替え

jEnvの場合、nodeenvと異なり、ホームディレクトリ下の.jenvの中にバージョン情報が保存されるため、起動スクリプトなどに書き込む必要はありません。

指定できるバージョンは versions コマンドで確認できます。

ローカルにバージョンを切り替え

他の言語の*envと同様に、jEnvでも特定のディレクトリだけバージョンを切り替えることが可能です。

実行すると、 .java-version というファイルが作成されバージョン情報が保存されます。

所感

もう12月で焦りがとまりません。12月になると毎年慌ただしく動いてる気がするので、一年がずっと12月ならいいのにと思います。

コメントを残す

メールアドレスが公開されることはありません。