2011-03-11にあったMacOS Xのアップデート実施すると、ローカルで開発サーバが起動できなくなる問題が出るようです。現象としては、開発サーバ(eclipseから起動しても、結局はSDK内のdev_appserver
が起動されます)を起動した後、数秒で開発サーバが終了してしまう、という現象です。私が試したときはたまーに少しだけ動作してから落ちる、という場合もありました。下記でも報告されていますし、対策も説明されています。
対策を簡潔に説明しておきます
- http://openjdk-osx-build.googlecode.com/files/OpenJDK-1.7-x86_64-20110221.dmg からOpenJDK1.7のイメージを入手する
- dmgを開いて、Dukeアイコンの
Installation.pkg
を実行してOpenJDK1.7をインストールする
これでopenjdk-1.7がインストールされます。此処から先は開発サーバの起動毎に手順があります。
SDK内のdev_appserver.sh
を直接起動している人
dev_appserver.sh
をエディタで開いてJAR_FILE=...
などの次の行あたりにJAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-1.7-x86_64/Contents/Home
を追加する
eclipseから起動している人
- eclipseの設定画面を開く
- 左のツリーから
Java > Installed JREs
を選択する - 右側のペインで
Add
をクリックする Add JRE
ダイアログでMacOS X VM
を選択してNext
をクリックするJRE definition
の画面に移るので、JRE Home
のDirectory
ボタンをクリックして/Library/Java/JavaVirtualMachines/openjdk-1.7-x86_64/Contents/Home
を選択するJRE name
にopenjdk-1.7-x86_64
を入力する
ここまでの手順で、eclipseがOpenJDK1.7を認識出来るようになります。次に、appengineプロジェクトに対して次の設定を行う必要があります。
- プロジェクトのプロパティを開き、左のツリーから
Java Build Path
を選択する - 右側のペインで
Libraries
タブを開き、リストの下の方にあるJRE System Library[JVM 1.6.0 (MacOS X Default)]
を選択し、Remove
をクリックして削除する。 Add Library
ボタンをクリックするAdd Library
ダイアログでJRE System Library
を選択してNext
をクリックする- どのJREを使うか選択する画面になるので
Alternate JRE
を選択し、先の手順でEclipseに認識させたopenjdk-1.7-x86_64
を選択する - プロジェクトのLibraryにopenjdkが追加される。
これらの手順で開発サーバが起動できるようになります。
追記
上記手順で開発サーバを起動したときにjavax.net.ssl.SSLException
が発生するのが気になる場合は、次の手順で解消できます。
- cd /Library/Java/JavaVirtualMachines/openjdk-1.7-x86_64/Contents/Home/jre/lib/security
- cp /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts .
2011-03-15追記
AppleのJDKを入れ直すという、もっと簡単そうな手順も紹介されています。
0 件のコメント:
コメントを投稿