次のセクションでは、様々な構成パラメータおよび設定に関する多くの問題について説明し、アプレットおよびJava Web Startアプリケーションの構成のトラブルシューティング手法を提案します。
アプリケーションが実行されない場合は、次のチェックを実行してください。
Java Plug-inが動作していることを確認します。
「Javaのバージョンの確認」に移動します。
「Javaのバージョンの確認」をクリックします。
画面上で予想どおりのJavaテクノロジ・バージョンが報告された場合、プラグインは有効で、検出されています。
ブラウザがJavaプラグインを認識していることをチェックします。
Chrome: アドレス・バーで「about: plugins
」と入力します。
Firefox: 「ツール」メニューで、「アドオン」を選択して「プラグイン」をクリックします。
Internet Explorer: 「ツール」メニューで、「アドオンの管理」を選択します。
Javaランタイム環境がインストールされていることを確認します。
Windowsの場合、コントロール・パネルでインストール済みプログラムの一覧をチェックします。
次は、一般的な構成の問題のトラブルシューティング手法です。
Javaランタイムのインストール:
Java Developer Kitをインストールするだけでは十分ではありません。アプレットやWeb Startを実行できるようにするにはJREが必要です。注意: 64ビット・ブラウザを使用する場合は、64ビット・バージョンのJREが必要です。同様に、32ビット・ブラウザには32ビットのJREが必要です。
一致する最新のプラグイン/Web Startの使用:
ブラウザに登録できるプラグインは1つだけであり、JREは常に、システム上の最新のJREに含まれるプラグインをアクティブとして登録します。古いプラグインが確実に使用されるようにするための唯一の方法は、新しいJREをアンインストールすることです。
Javaランタイム構成に変更を加えた場合のブラウザの再起動:
Javaが有効になっていないか、Javaが複数の場所で無効化されている可能性があります。Javaコントロール・パネルと、ブラウザのプラグイン/アドオン・リストをチェックしてください。
新しい世代のプラグインが有効であることの確認:
レガシー・モードでの実行が必要でないかぎり、Javaコントロール・パネルで次世代のプラグインが有効になっていることを確認してください。
JavaScriptの有効化:
JavaScriptが無効になっていると、Javaアプレットの起動の試みが非常に早い段階で失敗する可能性があります。
Javaコントロール・パネルでのJavaの設定への変更の失敗:
UACがオンになっているWindows 7またはWindows Vistaシステムでは、Javaコントロール・パネルがグローバル・レジストリ設定の更新に失敗する可能性があります。これを回避するには、これらの設定を変更する必要がある場合に、必ずJavaコントロール・パネルを管理者として起動してください。
Javaコントロール・パネル・ツールを使えば、インストール済みの一連のJava Runtime Environmentとその動作を管理できます。Javaコントロール・パネルは、JREインストール・フォルダのbinディレクトリから起動できます。Windowsオペレーティング・システムの場合、「コントロール・パネル」>「Java」からもアクセスできます。
次を行う必要がある場合にJavaコントロール・パネルを使用します。
インストール済みのJREおよびアクティブなJREのバージョンを確認する
特定バージョンのJREの使用を一時的に有効/無効にする
アプレットまたはWeb Startアプリケーションの起動時にJVMに渡される「グローバル」パラメータを設定する
特定ブラウザでのJava Pluginの使用を有効/無効にする
プラグイン/Web Startの動作を調整するため、図16-1に示すように、構成パラメータを指定する(一時ファイルのキャッシュの場所、トレースの有効化など)
トラブルシューティング、デバッグ、プロファイリングなどの開発アクティビティでは、JVMの起動時に特別なパラメータ・セットを指定しなければならない場合があります。これを実現する方法の1つは、Javaコントロール・パネルを使用することです。
Javaコントロール・パネルを開き、「Java」タブの「表示」をクリックします。変更するJREの「ランタイム・パラメータ」セルを選択し、このセルにパラメータを入力します。
注: これらの変更はグローバルであり、このバージョンのJREを使用して実行されるJava Web Startアプリケーションまたはアプレットでは、appletタグやJNLPファイルでの指定に加えて、これらのパラメータが設定されます。 |
Java Web Startやアプレットで使用される特定のJVMにパラメータを渡すには、次のいずれかの手法を使用します。
javaws
またはブラウザのプロセスを起動する前に環境変数を設定します。
JAVAWS_VM_ARGS
(Java Web Startアプリケーション用)。例:
JAVAWS_VM_ARGS = -Dsome.property=true
_JPI_VM_OPTIONS
(アプレット用)。例:
_JPI_VM_OPTIONS = -Dsome.property=true
注: 環境変数の設定が完了したら、ブラウザを再起動する必要があります。この環境変数をコマンド・シェルで設定した場合は、環境変数の値がブラウザに継承されるように、同じコマンド・シェルを使ってブラウザを起動する必要があります。 |
javaws
コマンドで-J
オプションを使用します。例:
javaws -J-Dsome.property=true http://example.com/my.jnlp
これは、主な構成ファイルが保持されている場所です。この場所は、オペレーティング・システムに固有です。
Windows XP: %HOME%\Application Data\Sun\Java\Deployment
Windows 7/Vista: %APPDATA%\..\LocalLow\Sun\Java\Deployment
Oracle Solaris/Linux: %HOME%/.java/deployment
Java Plug-inとJava Web Startは両方とも、トレース情報をトレース・ファイルに出力できます。これにはJRE自体からのログ情報と、アプリケーションからSystem.out
またはSystem.err
に出力されるすべての情報が含まれます。
トレース情報にアクセスするには、次の手順に従ってください。
Javaコントロール・パネル(jre_home_dir/bin/ControlPanel)を開きます。
「詳細」タブを選択します。
「デバッグ」カテゴリで、「トレースを有効にする」チェックボックスを選択します。
オプションとして、「Javaコンソール」カテゴリで「コンソールを表示する」オプションを選択すると、トレース情報がコンソール・ウィンドウに表示されます。それでもファイルには完全なトレースが保存されます。
トレース・ファイルは、Javaデプロイメント・ホーム・フォルダの log
ディレクトリに保存されます。Javaデプロイメント・ホームを参照してください。ファイル名には、実行している対象によってjavaws
またはplugin
の接頭辞がつきます。プロセスにつき1つのトレース・ファイルが作成されますが、1つのアプリケーションは複数のプロセスを使用して起動できます。
トレース・ファイルの詳細レベルを最大にするには、deployment.propertiesファイル(Java配備ホーム・ディレクトリにあります)を編集して次の行を追加します。
deployment.trace.level=all
デフォルトでは、最大5つのトレース・ファイルが作成されます。もっとも古いトレース・ファイルが自動的に削除されます。このトレース・ファイルの最大数の制限を変更するには、deployment.propertiesファイルに次の行を追加します。
deployment.max.output.files=max_number_of_trace_files
Javaコンソールを使用すると、実行中にトレース・ログを表示できます。デフォルトでは、Javaコンソールは非表示です。これをJavaコントロール・パネルで有効にしてください。デプロイメントの問題のトラブルシューティングの詳細は、「デプロイメントの問題のトラブルシューティング」を参照してください。
アプリケーションのJARとリソースは、次回必要になった際にロードしないで済むように、ディスク上にキャッシュされます。
キャッシュのデフォルトの場所はオペレーティング・システムに依存しますが、Javaコントロール・パネルでオーバーライドできます。
キャッシュの設定や制御は、Javaコントロール・パネルの「一般」タブの「インターネット一時ファイル」セクションで使用できます。キャッシュの場所やサイズを変更するには、「設定」をクリックします。キャッシュ内のファイルを表示するには、「表示」をクリックします。
キャッシュをクリーンアップするには、javaws -uninstall
を実行するか、Javaコントロール・パネルの「一般」タブを開き、「表示」をクリックして、ファイルを手動で削除します。また、Javaコントロール・パネルを使って個々のアプリケーションや拡張をアンインストールすることもできます。
一般に、Java Web Startアプリケーションはデフォルトでシステムのネットワーク構成を使用し、アプレットはブラウザのネットワーク設定を使用します。Javaコントロール・パネルを使えば、ネットワーク・プロキシを明示的に設定できます。
特に、Javaテクノロジのネットワーク層は、使用すべきネットワーク・スタックを自動的に検出します。ただし、自動検出が動作しないときがあり、アプリケーションやアプレットをダウンロードするソケットを開こうとした際にアクセス権拒否(Permission Denied
)例外が発生することがあります(他のツールでは同じプロキシ設定を使って同じURLにアクセスできる場合でも)。この問題は、一部のWindows 7システムでVPNソケットを使用した場合に発生しました。これを解決するには、JVMに明示的にパラメータを渡します。
-Djava.net.preferIPv4Stack=true
詳細は、「JREへのパラメータの受渡し」を参照してください。