Code

2014年3月22日土曜日

Mac OS X で JDK の切り替え

 最近、隣のお姉ちゃんが間違って JDK 1.8 をインストールしてしまいました。うちのプロジェクトは JDK 1.7 を使っていますけど。。。
 まず変なエラーが出て: Saxon-HE-9.4.jar のSaxon he 9.4 XPathfactory#newInstance() の Configure ファイルのなんちゃらがフォーマットが正しくない。。って。何でだろうと思ったんですけど、見たことのないエラーだし、どうしようかなと。
 Tomcat の設定、Eclipse の設定、Maven ファイルのライブラリのバージョンをいろいろ調べましたが、変なものが見当たらない。。。
 それで、正しく動いている War ファイルをサーバーからダウンロードして、入れてみたら、やはり同じエラーが出て来ました。まぁ、これで、ローカルマシンの問題だと断定しました。JAVA_HOME を見たら、1.8 となっていました。。。
 これは、これは。すかさず、1.7 をダウンロードしました。ちなみに Oracle のウェブサイトからは変なファイルがダウンロードしたので、インストールできませんでした。以前保存した dmg ファイルをまた Air Drop を使って、運んで、無事インストールが成功しました。
 じゃ、次は JDK バージョンの切り替えです。いろんな方法がありますけど、一番いい方法を見つかったので、メモしておこう。
 まず、Java のバージョンを調べる /usr/libexec/java_home というコマンドがあります。
それを使って、.bashrc, .bash_profile などのファイルに
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
を書けば、そのバージョンの JDK が使えます。
もっと便利に、コマンドの追加して
http://superuser.com/questions/490425/how-do-i-switch-between-java-7-and-java-6-on-os-x-10-8-2

alias java_ls='/usr/libexec/java_home -V 2>&1 | grep -E "\d.\d.\d_\d\d" | cut -d , -f 1 | colrm 1 4 | grep -v Home'

function java_use() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    export PATH=$JAVA_HOME/bin:$PATH
    java -version
}
切り替えも簡単になります。
まぁ、難しいことではないけど、間違ってインストールすると、変なエラーが出たりしますので、今後自分も注意を。
それでは。

0 件のコメント:

コメントを投稿