Java用のRVMクローン「jenv」

Jenv Portal
jenvと呼ばれるjava環境のお手軽切り替えツールがリリースされました。ruby用の環境切り替えツールRVMのJava版をイメージしてもらえば理解しやすいと思います。

ただOSとしてUnix based systemを想定しているようなので、Windowsは対象外みたいです(Mac / LinuxはOK)。

特徴

以下のような特徴があげられています。

  • 1.6 / 1.7 / 1.8のようなJavaのバージョンを簡単に管理することができる。
  • Ant / Maven / TomcatのようなJavaツールを簡単にインストールすることができる。
  • 新しいバージョンをインストールし、古いバージョンをアンインストールするといった、バージョン管理が簡単。
  • IDEフレンドリーなディレクトリ構造。
  • 簡単に拡張できる。自分自身のjenvをセットアップし、開発環境を管理できる。
  • 環境を簡単にバックアップできる
  • Bash補完をサポート。TABを使って、コマンド名、candidate、バージョンを補完できる。

なかなか良さそうです。

インストール

インストールは簡単です。

$ curl -s get.jvmtool.mvnsearch.org | bash

初期化します。

$ source ~/.jenv/bin/jenv-init.sh

jenvコマンドのhelpは以下

jenv help

Javaのインストール

JDKの再配布が許されていないので、JDK自体は

からダウンロードして手動でいれるしかないようです。

ダウンロードしてインストールした後、以下の手順でjenvに認識させます。

$ mkdir -p $HOME/.jenv/candidates/java
$ ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/home $HOME/.jenv/candidates/java/1.7.0_17
$ jenv default java 1.7.0_17

まとめ

Javaの場合バージョン間の互換性はかなり確保されているほうだと思いますが、プロジェクトごとに使用するJDKが決まっていて古いバージョンのJDKを使わざるをえない場合、簡単に環境を切り替えられるjenvの存在はかなりありがたいのではないでしょうか。

rubyのように自動でインストールまで行ってくれるわけではないのが残念ですが、Java開発の不便さをおぎなってくれるツールだと思います。

※追記

zshの場合、「source ~/.jenv/bin/jenv-init.sh」がうまく動かないかも。bashだとOKのようです。

また、インストールするとrcファイルに以下の行が追加されるので、使わない場合は削除しておきましょう。

#THIS MUST BE AT THE END OF THE FILE FOR JENV TO WORK!!!
[[ -s "/Users/sora/.jenv/bin/jenv-init.sh" ]] && source "/Users/sora/.jenv/bin/jenv-init.sh" && sou\
rce "/Users/sora/.jenv/commands/completion.sh"

スポンサーリンク