06/04/16 03:04:57 YPTsJ+Q00
>>91
スタックとレースのJavaAppLauncherってので気がついたんだけど、これって
Mac用にアプリケーション・バンドル化してあるんだね?
アプリケーション・バンドル化したJavaプログラムは、info.plistに指定された
JVMVersionを参照して、実行に使用するJREを決定する。
昔のXCodeでビルドすると、こいつが「1.4*」になってるんだよね。
「1.4*」は、「1.4バージョンのうちの、マシンにインストールしてる最大バージョン」
という意味で、1.4.1, 1.4.2だったら1.4.2が選択されるが、5.0は決して選択されない。
「1.4+」なら「1.4以上で、利用可能な最大バージョン」という意味になって、
5.0が選択される。
アプリケーションをCtrl+クリックして「パッケージの内容を表示」を選んで、中に
あるinfo.plistを編集してもいいし、XCodeのターゲット設定にある「Javaコンパイラ
設定」の「ターゲットJVMのバージョン」と「ソースのバージョン」を「1.5」にして再ビルド
してもいい。
しかし>>86の場合は昔のアプリケーションを再ビルドしてるだけなんだから、
ソースバージョンとターゲットバージョンを設定してやれば1.4でも動くようになる
と思う。大部分のマックにはまだ1.4.2が入っているわけだから、こっちのほうが
いいと思う。
こうする場合は、XCodeの上記の設定を、ターゲットJVMもソースも「1.4」にしてや
ればいい。J2SE 5.0をインストールしたまま、1.4向けのクラスファイルが生成でき
る。もちろん、ソースにはJ2SE 5.0で追加された機能は使えないけどね。