JavaTM アップグレードガイド: Java の Microsoft VM から Sun JRETM への
|
このガイドでは、JavaTM テクノロジの Microsoft 仮想マシン (VM) から Sun Java Runtime Environment (JRETM) にアプレットをアップグレードする理由と方法を説明します。98% のケースでは、アプレットを変更せずに Sun JRE で実行できます。このドキュメントでは、残り 2% のケースのために、アップグレードする方法を示します。このアップグレードには利点があります。Microsoft VM は初期の、1997 年におけるバージョン 1.1 の Java テクノロジに基づいているためです。Sun Microsystems による最新で、標準互換のバージョンは JRE 6 です。2006 年 12 月にリリースされ、以前のバージョンに比べて多くの機能が拡張されています。
アプレットをアップグレードする重要な理由は、Microsoft VM では、自社のどの製品においても Java テクノロジ実装がサポートまたは提供されない、という点にあります。すでに最新のオペレーティングシステムの Internet Explorer Web ブラウザには Java テクノロジを搭載しなくなっていますが、このことは、次の 2 つの重要な意味を持ちます。
Microsoft VM は 10 年前の Java 1.1 テクノロジに基づいているため、明らかに時代遅れです。一方、Sun JRE 6 の一部になっている Sun Microsystem の VM は完全に標準に準拠しており、最新です。これが、Sun JRE 上で動作するように Java アプレットおよびアプリケーションをアップグレードするもう 1 つの理由となります。
Microsoft は開発者に、Java アプレットおよびアプリケーションを J# または C# 言語にアップグレードすることを推奨しています。しかし、J# や C# は Microsoft の Windows プラットフォームでしか動作せず、クロスプラットフォーム互換性を提供しません。
Sun JRE にアップグレードするには、次の手順に従います。
ほとんどのアプレットは Sun JRE 内で正しく動作しますが、アプレットのテストは必ず行ってください。
テスト用コンピュータに最新の Sun JRE がすでにインストールされているかどうかを確認するには、次の手順に従います。
コントロールパネルが開きます。
「Java」というラベルの付いたコーヒーカップのアイコンが、コントロールパネルに表示されます。Windows のコントロールパネルにコーヒーカップのアイコンが表示されない場合、最新版の Sun JRE がコンピュータにインストールされていません。
次の URL からコンピュータに Sun JRE をダウンロードしてインストールできます。 http://java.com/java/download/index.jsp。
コンピュータへの Sun JRE のインストールが完了したら、Web ブラウザでのアプレット実行用として Sun JRE が有効になっているかを確認する必要があります。
Web ブラウザが Microsoft VM、Sun JRE のどちらを使用しているか確認するには、次の手順に従います。
コントロールパネルが開きます。「Java」というラベルの付いたコーヒーカップのアイコンが、コントロールパネルに表示されます。
Java コントロールパネル (「詳細」タブ >「Java コンソール」) で「コンソールを表示する」が選択されていると、次の節で示すように、Java コンソールに Java のバージョン番号が表示されます。バージョン番号は、ブラウザで使用中の Sun JRE を表します。
Web ブラウザ内でアプレットを実行してテストします。アプレット実行用として一連の標準テストが用意されている場合には、それらのテストを実行します。
互換性の問題がある場合には、Java コントロールパネル (「詳細」タブ >「Java コンソール」) で「コンソールを表示する」が選択されている場合に画面上に表示される Java コンソールで、その詳細を確認します。次の図に、Java コンソールのサンプルのスクリーンショットを示します。
Java コンソールの詳細については、次の URL を参照してください。http://java.sun.com/javase/6/docs/technotes/guides/plugin/developer_guide/console.html
Sun JRE でアプレットが問題なく動作することを確認したら、顧客に Sun JRE を配備する最適な方法を検討します。「Sun JRE のインターネット/イントラネット配備」を参照してください。
Sun JRE を使ってブラウザ内でアプレットを実行した場合に発生する可能性のある問題の一覧を、例外と症状に分けて次に示します。
例外
|
解決方法
|
---|---|
ClassLoader によって java.lang.ClassFormatError がスローされる。 |
|
ClassLoader によって java.lang.ClassNotFoundException がスローされる。 |
|
java.beans.Introspector.setBeanInfoSearchPath() の実行時に java.security.AccessControlException がスローされる。 |
|
com.ms.security パッケージで ClassLoader によって java.lang.ClassNotFoundException がスローされる。 |
|
com.ms.* パッケージで ClassLoader によって java.lang.ClassNotFoundException がスローされる。 |
|
マウスがアプレットのフレーム上を移動すると
java.lang.ClassCastException が AWT イベントディスパッチスレッドからスローされる。 |
|
Applet.start() または Applet.stop() が呼び出されると、java.lang.NullPointerException がスレッドからスローされる。 |
|
java.lang.NullPointerException が java.awt.Graphics.drawString() でスローされる。 |
|
java.lang.NullPointerException が java.awt.Graphics.drawImage() でスローされる。 |
|
java.lang.IllegalArgumentException が java.awt.Color コンストラクタでスローされる。 |
|
java.security.AccessControlException が java.lang.Thread の stop() 、suspend() 、または resume() メソッドでスローされる。 |
|
java.lang.InstantiationException: コードとオブジェクトの両方ではなく、どちらか片方だけを指定する。 |
症状
|
解決方法
|
---|---|
署名付き .cab ファイルを .jar ファイルとして再パッケージ化すると、Sun JRE 内で実行されるアプレットが未署名になる。 |
|
.cab ファイルから .jar ファイルにアップグレードした署名済みアプレットを Microsoft VM で実行するとセキュリティー例外がスローされる。 |
|
クライアントの認証にブラウザからの証明書を使用できない | |
CJK (Chinese-Japanese-Korean) フォントをボールドで表示すると読みにくくなる。 | |
HTTP URL と HTTPS URL の間のリダイレクトが行われない |
この一覧にない問題が発生した場合は、Java Upgrade Forum を参照してください。