Home » Featured, Headline, 設定

OS X LionへのJava SE 7のインストールと、NetBeans7.2がSE 7で起動出来なかった問題について

2012 / 9 / 5 コメント募集

Mac OS X Lionは標準でJava SE 6 が導入されています。これをSE 7へバージョンアップしました。
それに加えて、Java製アプリであるNetBeans7.2をSE 7で動かすまでのレポートです。

Oracle、ゼロデイ攻撃発生した「Java」の脆弱性に対応 –Security NEXT
少し前ですが、ネットニュースなどでJavaの脆弱性が発見され、数日前にセキュリティパッチがOracleからリリースされた模様です。

Java SE Downloads –Oracle

Java SE 7の導入

私のコンピュータのJava のバージョンが6のままだったこともあり、この際なので7に上げることにしました。無事インストールも終わり、設定準備(Macの場合Java Preferences.appで優先度を変更することにより設定可能)も完了しました。そこでNetBeansを立ち上げたのですが・・・

NetBeans7.2 スクリーンショット

なぜかJava SE 6で動いている模様。通常なら上記の設定で切り替わるはず(切り替わって欲しいですよね?)。念のためコマンドラインで下記のようにJavaのバージョンを調べてみました。

java -version

Picked up _JAVA_OPTIONS: -Duser.language=en -Dfile.encoding=UTF-8
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

コマンドラインでもJavaのバージョンが6のままでした。
私はJavaに関してはド素人なのでそれも踏まえてちょっと調べました。どうやらバージョンを選択する方法があるようで・・・。

Mac OS X 開発環境構築手順:Java実行環境(jdk6)インストール –Shinya’s Daily Report
(上記サイトでは SE6ですがSE7でも同じです)
.bash_Profileに下記を追記。

export JAVA_HOME=$(/usr/libexec/java_home)

source .bash_Profile

・・・しかし、バージョンに変化なし。こうなったら徹底的に。

ls -la /usr/libexec/
で調べてみると

java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home
となっている。これが本体。

↓ここに各種バージョンが収められていることを確認。
/System/Library/Frameworks/JavaVM.framework/Versions/

ls -la /System/Library/Frameworks/JavaVM.framework/Versions/

drwxr-xr-x  11 root  wheel  374  6 13 19:11 .
drwxr-xr-x  11 root  wheel  374  6 13 19:11 ..
lrwxr-xr-x   1 root  wheel   10  6 13 18:02 1.4 -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10  6 13 18:02 1.4.2 -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10  6 13 18:02 1.5 -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10  6 13 18:02 1.5.0 -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10  6 13 18:02 1.6 -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10  6 13 18:02 1.6.0 -> CurrentJDK
drwxr-xr-x   8 root  wheel  272  6 13 19:11 A
lrwxr-xr-x   1 root  wheel    1  6 13 18:03 Current -> A
lrwxr-xr-x   1 root  wheel   59  6 13 18:02 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents

なんとさっきインストールしたはずの7がありません。なぜ?

また色々調べてみる。

MacでJava7を使う。–KRAKENBEAL RECORDS
どうやらJava SE 7のインストール場所は下記らしい。

/Library/Java/JavaVirtualMachines/

なんなんでしょ?統一して欲しかったわー。インストール場所を調べてみると、

ls -la /Library/Java/JavaVirtualMachines/

drwxr-xr-x  4 root  wheel  136  9  4 00:10 .
drwxrwxr-x  6 root  admin  204  9  3 02:50 ..
drwxrwxr-x  3 root  wheel  102  4 20 14:58 1.7.0.jdk
drwxr-xr-x  3 root  wheel  102  9  4 00:10 jdk1.7.0_07.jdk

あった!jdk1.7.0_07.jdkが今回選択するバージョン。(1.7.0はおそらく1.7.0_04というバージョンです)

OS X Java Preferences スクリーンショット

※この写真のバージョンというタブで細かいバージョン選択が可能なようです。写真はすでにパッチ適応版に変更済み。(とはいえ、ここで設定しても反映されてないわけで)

とりあえず場所が分かったので、さっきの設定は消して

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home

を.bash_Profileに設定。

source .bash_Profile
で反映、

java -version
でバージョン確認。すると、

Picked up _JAVA_OPTIONS: -Duser.language=en -Dfile.encoding=UTF-8
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

・・・やっとSE 7に変わりました。が、NetBeans7.2を起動すると、使用しているJavaのバージョンが前と同じ・・・。あくまでコマンドラインでのバージョンが変わっただけのようで。
でもNetBeansがSE 7で起動できない原因て、もしかしたらJavaのインストール場所が変更されたからかもしれない。Java Preferences.appでSE 7の設定項目が増えているのは納得行きませんが。

NetBeans側のJavaの設定

まだNetBeansをSE 7で動かすことは解決できていないので、また色々調べてみる。

Mountain Lion にアップグレードしたら NetBeans 7.1 を起動できなくなりました –kaizawa2’s blog

どうやら設定ファイルに追記するらしい。どうりでNetBeansのアプリケーションの設定を調べても出てこないはず。

↓実際は1行です
/Applications/NetBeans/NetBeans 7.2.app/Contents/Resources/NetBeans/etc/netbeans.conf
に下記を追記。

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home"

おそるおそるNetBeansを再起動。すると・・・

NetBeans7.2 スクリーンショット

成功ッ!
起動時間とかは特に変わりなしでした。ちょっと期待していたのですがw

でもデフォルト文字コード変わっちゃった?
っていうか元々SJISってのもどうかしてる。(上の方の画像参照)
ここに表示される文字コードと実際のソースファイル(PHP)の文字コードとは別ってことでしょうか。(最近のPHPのソースは全部UTF-8で書いているし・・・)

NetBeans7.2の文字コードをUTF-8に変更

気持ち悪いのでUTF-8に変更してみる。

netbeans デフォルト文字コード 設定 — Codecast

先ほどの設定ファイルの該当箇所に下記を追記。

-J-Dfile.encoding=UTF-8

NetBeans再起動。

NetBeans7.2 スクリーンショット

バッチリUTF-8に変わっています。

というわけで、
・Mac OS X LionにJava SE 7 をインストール、設定
・NetBeans7.2をJava SE 7で動かす

さらに
・NetBeans7.2のデフォルト文字コードをUTF-8に変更
を行いました。

今回はいろんな方のブログを参考にさせてもらいました。感謝!


Webアプリケーション構築入門(第2版) – 実践!Webページ制作からマッシュアップまで

[`evernote` not found]

どうぞこの記事に関するコメントをお寄せ下さい

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

これらのタグのみ使用出来ます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.

*