IE
Java9
Applet

Java 9 + IE: Appletの動作検証

はじめに

※自分用のメモも含みます。

誤解のないように書いておくと、このエントリは、Java Applet を推奨する記事ではありません。
既にアナウンスされている通り、Java 9 では非推奨となり、Java Plugin は、将来削除される予定です。
- 参考資料: JDK 9およびJavaプラグイン

先日(2017/10/28)参加させていただいた「JavaOne 2017 報告会 in 大阪」でも、次のようなお話がありました:

  • リリースモデルが変更になる。
    • 2018年3月から6か月ごと。その時までに間に合った機能が入る。
    • 詳しくは、「Oracle Java SEサポート・ロードマップ」と思われる。
    • Java 8 からの移行は、バージョン18.9(2018年9月リリース)を目指すのがよいのでは?
  • Applet について
    • Java 8 が確実
    • バージョン 18.3 から Deployment Technologies (Applet, Java Web Start) がバンドルされない

そのため、Java 9 における Applet の動作検証に、果たして意味があるのだろうか?と自問しつつ、
ほとんど供養のような気持ちで以下、記載しています。

Java 9 + IE: Applet の動作検証 - 動きます、但し、、、

結論から書いてしまうと、次の条件で動作しました。

  • 実際に検証した環境

  • 注意点

    • Java 9 は 64bit版のみが公開されている。
    • IEは、デフォルトでは、32bitモードで動作する。このため、Appletで64bit版Javaを利用するには、Java 8 までと同様、拡張保護モード(Enhanced Protected Mode; EPM)を有効にする必要がある。
      • IE10の場合:インターネットオプションの詳細設定で「拡張保護モードを有効にする」(「マシン」再起動が必要)
      • IE11の場合:インターネットオプションの詳細設定で「拡張保護モードで 64 ビット プロセッサを有効にする」(「マシン」再起動が必要)
      • 参考資料: IE10 & IE11 : 拡張保護モードの実態
    • IEの拡張保護モードとの相性に関する不具合修正が、Java 7u55 で実施されている。このため、Appletで64bit版Javaを利用するには、7u55以上が必要のようだ。
    • Java7u51にて、セキュリティ強化が行われ、デフォルトのセキュリティ設定で利用するには、公開するアプレットに、次の調整が必要だ:
    • IEの拡張保護モードは、他のプラグインとの相性が良くないことがある。もしそちらのプラグインを利用する場合には、拡張保護モードを無効にする必要があり、その時は、64bit版Javaは利用できないことになる。
    • Java 9 から、モジュールシステムが導入されたので、利用するパッケージによっては、起動オプションの調整が必要と思われる(⇒別途調査しよう)

動作検証手順

  1. 準備として、念のため、インストール済みだった、JRE7, JDK7, JRE8, JDK8 をすべて削除したのち、マシン再起動
  2. Java 9 をダウンロードしてからインストール ※この時点で、IEのアドオン一覧を確認すると、「Java(tm) Plug-In 2 SSV Helper」が新規アドオンとしてインストールされていることが確認できる
  3. IE11のインターネットオプションの詳細設定で「拡張保護モードで 64 ビット プロセッサを有効にする」にチェックを付ける
    Java9_09.png

  4. マシン再起動

  5. IEのアドオン一覧を確認すると「Java(tm) Plug-In 2 SSV Helper」が「互換性なし」「利用不可」と表示されるが、あきらめずに先に進む

  6. IEで Javaのバージョン確認のサイト https://www.java.com/ja/download/installed8.jsp を表示する

  7. [Javaのバージョンの確認]ボタンを押下する

  8. 「Java Plug-inが非推奨です」という警告を表示する(「このメッセージを今後表示しない」にデフォルトでチェックが付いているので最初しか表示しないが、デフォルトはオフの方がよいような気が。。。)が、アプレットは起動する
    [署名確認]
    Java9_13.png
    [Java Plug-in非推奨の警告]
    Java9_14.png
    ※Javaコンソールを表示している場合は、そこにも「警告:Java Plug-in が非推奨であり、今後のJavaリリースでの削除が考えられます。」と表示される。Java9_16.png
    [Applet実行結果]
    Java9_17.png

おわりに

AppletがJava 9 で非推奨になったという情報はありましたが、GA版になってからの状況があまり見えず不安であったため、自分を落ち着かせるために検証してみたというのが本音です f^^;

次は、デフォルトで読み込まれないモジュールも含めて、検証したいと考えています。

もちろん、Appletの代替の模索も並行して。