5 削除されたツールとコンポーネント

次の項では、実験的、廃止、または不使用となり、JDKから削除されたツールやコンポーネントを示します。

JDK 19で非推奨となった機能およびオプション

JDK 18で削除および非推奨となったツールとコンポーネント

削除のためのファイナライズの非推奨化

ファイナライズ・メカニズムは、将来のリリースでの削除のために非推奨になりました。Object.finalize()Enum.finalize()などの標準Java APIのfinalizeメソッドも、Runtime.runFinalization()System.runFinalization()などのファイナライズに関連するメソッドとともに、将来のリリースでの削除のために非推奨になりました。

ファイナライズは現在、デフォルトで有効なままですが、早期テストを促進するために無効にできます。将来のリリースでは、デフォルトで無効になり、後のリリースで削除されます。JEP 421: 削除のためのファイナライズの非推奨化に関する項および「削除のために非推奨となったファイナライズ」を参照してください。

JDK 17で削除および非推奨となったツールとコンポーネント

削除のためのアプレットAPIの非推奨化

すべてのWebブラウザ・ベンダーがJavaブラウザ・プラグインのサポートを削除したか、そうする予定を発表したため、アプレットAPIは削除のために非推奨となりました。JEP 398: 削除のためのアプレットAPIの非推奨化に関する項を参照してください。

RMIアクティブ化の削除

リモート・メソッド呼出し(RMI)アクティブ化メカニズムは削除されました。ただし、それ以外のRMIの機能は保持されます。JEP 407: RMIアクティブ化の削除に関する項を参照してください。

JDK 16で削除および非推奨となったツールとコンポーネント

試験的な機能AOTおよびGraal JITの削除

Java Ahead-of-Timeコンパイル試験ツールjaotcおよびJavaベースのGraal JITコンパイラは削除されました。試験的な機能AOTおよびGraal JITの削除に関する項を参照してください。

1024ビット・キーのルート証明書の削除

弱い1024ビットRSA公開キーを持つルート証明書がcacertsキーストアから削除されました。詳細は、1024ビット・キーのルート証明書の削除に関する項を参照してください。

レガシー楕円曲線の削除

SunECプロバイダでは、JDK 14で非推奨となった次の楕円曲線はサポートされなくなりました。

secp112r1, secp112r2, secp128r1, secp128r2, secp160k1, secp160r1, secp160r2, 
secp192k1, secp192r1, secp224k1, secp224r1, secp256k1, sect1

これらの曲線を引き続き使用するには、サードパーティの代替曲線を検索します。レガシー楕円曲線に関する項を参照してください。

非推奨になったトレース・フラグの廃止および同等の統合ロギング機能への置換え

Java 9で統合ロギングが追加されたときに、いくつかのトレース・フラグが非推奨になり、統合ロギングと同等のものにマップされました。これらのフラグは廃止されたため、これらのフラグの使用を同等の統合ロギングに明示的に置き換える必要があります。

廃止トレース・フラグ 統合ロギングへの置換
-XX:+TraceClassLoading -Xlog:class+load=info
-XX:+TraceClassUnloading -Xlog:class+unload=info
-XX:+TraceExceptions -Xlog:exceptions=info

JDK 15で削除および非推奨となったツールとコンポーネント

Nashorn JavaScriptエンジンの削除

Nashorn JavaScriptスクリプト・エンジンとAPI、およびjjsツールは、JDK 15で削除されました。エンジン、APIおよびツールは、Java 11での削除のために非推奨になりました。『JEP 372: Remove the Nashorn JavaScript Engine』を参照してください。

RMI静的スタブ・コンパイラ(rmic)ツールの削除

RMI静的スタブ・コンパイラ(rmic)ツールは削除されました。rmicツールは、JDK 13での削除のために非推奨になりました。サポートされているツールのセットからのrmicの削除を参照してください。

バイアス・ロックの無効化および非推奨

バイアス・ロックはデフォルトで無効になっており、関連するすべてのコマンドライン・オプションは非推奨になりました。『JEP 374: Disable and Deprecate Biased Locking』を参照してください。

削除のためのRMIアクティブ化の非推奨化

RMIアクティブ化メカニズムは非推奨になりました。プラットフォームの将来のバージョンで削除される可能性があります。『JEP 385: Deprecate RMI Activation for Removal』を参照してください。

JDK 14で削除された機能とコンポーネント

Concurrent Mark Sweep (CMS)ガベージ・コレクタの削除

CMSガベージ・コレクタが削除されました。『JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector』を参照してください。

Pack200ツールとAPIの削除

Pack200ツールおよびAPIはJDK 11で非推奨となり、JDK 14で削除されました。

pack200およびunpack200ツール、およびjava.util.jar.Pack200パッケージのPack200が削除されました。

『JEP 367: Remove the Pack200 Tools and API』を参照してください。

JDK 13で削除されたツールとコンポーネント

javadocツールからの旧機能の削除

Javadocツールから次の4つの機能が削除されました:

  • HTML 4を使用したAPIドキュメントの生成のサポート
  • 古いjavadoc APIのサポート
  • HTMLフレームを使用したドキュメントの生成のサポート
  • --no-module-directoriesオプションのサポート

削除されたjavadoc機能の詳細は、JDK-8215608: 古いjavadoc機能の削除を参照してください。

削除されたツールおよびコンポーネントのリストは、JDK 13リリース・ノートの削除された機能およびオプションを参照してください。

JDK 12で削除されたツールとコンポーネント

JDK 12で削除されたツールおよびコンポーネントの詳細は、JDK 12の削除された機能およびオプションを参照してください。

JDK 11で削除されたツールとコンポーネント

デプロイメント・スタックの削除

Javaデプロイメント・テクノロジはJDK 9で非推奨になり、JDK 11で削除されました。

JavaアプレットおよびWeb Start機能(Javaプラグイン、Javaアプレット・ビューア、Javaコントロール・パネル、Java Web Startなど)は、javawsツールとともにJDK 11で削除されました。

Javaデプロイメント・テクノロジの削除に関する項を参照してください。

Java EEおよびCORBAモジュールの削除

JDK 11では、Java EEおよびCORBAモジュールが削除されました。これらのモジュールはJDK 9で削除予定の非推奨となりました。

削除されたモジュールは次のとおりです:

  • java.xml.ws: Java API for XML Web Services (JAX-WS)、Web Services Metadata for the Java PlatformおよびSOAP with Attachments for Java (SAAJ)
  • java.xml.bind: Java Architecture for XML Binding (JAXB)
  • java.xml.ws.annotation: Webサービスをサポートするための、Java SEによって定義されているJSR-250 Common Annotationsのサブセット
  • java.corba: CORBA
  • java.transaction: CORBA Object Transaction Servicesをサポートするための、Java SEによって定義されているJava Transaction APIのサブセット
  • java.activation: JavaBeans Activation Framework
  • java.se.ee: 前述の6つのモジュール用のアグリゲータ・モジュール
  • jdk.xml.ws: JAX-WS用のツール
  • jdk.xml.bind: JAXB用のツール

これらのAPIのクラスへの参照を含む既存のコードは、ビルドを変更しなければコンパイルされません。同様に、これらのAPIのクラスへの参照があるクラス・パスのコードは、アプリケーションのデプロイ方法に変更を加えないかぎり、NoDefClassFoundErrorまたはClassNotFoundExceptionにより失敗します。

使用可能な代替モジュールの詳細は、『JEP 320: Remove the Java EE and CORBA Modules』を参照してください。

ノート:

JAXBおよびJAX-WSはMavenからダウンロードできます。

ツールとコンポーネントの削除

主要ツール

CORBAツール

  • idlj
  • orbd
  • servertool
  • tnamesrv

また、rmic (RMIコンパイラ)で-idl-iiopオプションがサポートされなくなりました。JDK 11リリース・ノートを参照してください。

Java Web Servicesツール

  • schemagen
  • wsgen
  • wsimport
  • xjc

Javaデプロイメント・ツール

モニタリング・ツール

  • jmc: JMCは、JDK 11でスタンドアロン・パッケージとして提供され、JDKにバンドルされていません。

JDKからのJMCの削除に関する項および『Java Mission Control』を参照してください。

JVM-MANAGEMENT-MIB.mib

SNMP JVM-MANAGEMENT-MIB.mibを使用したJVMモニタリングおよび管理の仕様は削除されました。JVM-MANAGEMENT-MIB.mibの削除を参照してください。

SNMPエージェント

jdk.snmpモジュールは削除されました。SNMPエージェントの削除を参照してください。

Oracleデスクトップ固有の削除

  • Oracle JDK T2Kフォント・ラスタライザは削除されました。
  • Lucidaフォント: Oracle JDK付属のフォントがなくなり、オペレーティング・システムにインストールされているフォントに完全に依存するようになりました。Oracle JDKからのLucidaフォントの削除に関する項を参照してください。

JDK 9およびJDK 10で削除されたツールとコンポーネント

このリストには、JDKにバンドルされなくなったツールおよびコンポーネントが示されています。

削除されたネイティブ・ヘッダー生成ツール(javah)

javahツールは、javacでより優れた機能によって置き換えられています。JDK 10では削除されました。

JDK 8以降、javacは、Javaソース・コードがコンパイルされた時点でネイティブ・ヘッダー・ファイルを記述する機能を提供します。これによって、別のツールは必要ありません。

javahのかわりに次を使用します
javac -h

JavaDBの削除

JavaDB (旧称Apache Derby)は、JDKには含まれなくなりました。

JavaDBはJDK 7およびJDK 8にバンドルされていました。これはJDKインストール・ディレクトリのdbディレクトリにありました。

Apache DerbyはApache Derbyのダウンロードからダウンロードおよびインストールできます。

JVM TI hprofエージェントの削除

hprofエージェント・ライブラリは削除されました。

hprofエージェントはJVM Tool Interfaceのデモンストレーション・コードとして記述されたもので、本番ツールとすることを意図したものではありません。hprofエージェントの役立つ機能はより優れた代替品により置き換えられました。その一部はJDKに含まれています。

hprof形式のヒープ・ダンプを作成するには、診断コマンド(jcmd)またはjmapツールを使用します。

  • 診断コマンド: jcmd <pid> GC.heap_dumpjcmdに関する項を参照してください。
  • jmap: jmap -dump.jmapに関する項を参照してください。

CPUプロファイラ機能については、JDKにバンドルされているJava Flight Recorderを使用してください。

『JEP 240: Remove the JVM TI hprof Agent』を参照してください。

jhatツールの削除

jhatツールはJDK 6で追加された、試験的な未サポートのヒープ視覚化ツールでした。より優れたヒープ・ビジュアライザおよびアナライザが多年にわたって提供されています。

java-rmi.exeおよびjava-rmi.cgi起動ツールの削除

Windowsの起動ツールjava-rmi.exeおよびLinuxとSolarisの起動ツールjava-rmi.cgiが削除されています。

java-rmi.cgiはLinuxの$JAVA_HOME/binにありました。

java-rmi.exeはWindowsの$JAVA_HOME/binにありました。

これらの起動ツールは、RMI CGIプロキシ・メカニズムの使用を促進するためにJDKに追加されていましたが、JDK 8で非推奨となっていました。

HTTPによるプロキシRMIのかわりにサーブレットの使用が長年にわたって可能であるとともに薦められてきました。Java RMIとオブジェクトのシリアライズに関する項を参照してください。

JMX RMIConnectorからのIIOPトランスポートのサポートの削除

JMX RMIコネクタからのIIOPトランスポートのサポートが、そのサポート・クラスとともにJDKから削除されました。

JDK 8では、IIOPトランスポートのサポートが必須からオプションにダウングレードされました。これは、JMX Remote APIからIIOPトランスポートのサポートを削除するための複数リリースにわたる取組みの最初のステップでした。JDK 9では、IIOPのサポートが完全に削除されました。

パブリックAPIの変更には次が含まれます。

  • javax.management.remote.rmi.RMIIIOPServerImplクラスは非推奨になりました。呼び出すと、そのすべてのメソッドおよびコンストラクタは、説明のメッセージとともにjava.lang.UnsupportedOperationExceptionをスローします。

  • 2つのクラスorg.omg.stub.javax.management.rmi._RMIConnection_Stubおよびorg.omg.stub.javax.management.rmi._RMIConnection_Tieは生成されません。

Windows 32ビット・クライアントVMの削除

Windows 32ビット・クライアントVMは使用できなくなりました。サーバーVMのみが提供されます。

JDK 8以前のリリースでは、Windows 32ビット・システム用にクライアントJVMとサーバーJVMの両方が提供されていました。JDK 9以降のリリースでは、ピーク・オペレーティング速度を最大化するためにチューニングされているサーバーJVMのみが提供されます。

Java VisualVMの削除

Java VisualVMは、Java仮想マシン上で実行されているコードについての情報を提供するツールです。jvisualvmツールはJDK 6、JDK 7およびJDK 8で提供されていました。

Java VisualVMはJDKとバンドルされなくなりましたが、VisualVMオープン・ソース・プロジェクト・サイトから入手できます。

native2asciiツールの削除

native2asciiツールはJDKから削除されました。JDK 9以降のリリースではUTF-8ベースのプロパティ・リソース・バンドルがサポートされているため、UTF-8ベースのプロパティ・リソース・バンドルのISO-8859-1への変換ツールは必要なくなりました。

『Java Platform, Standard Edition国際化ガイド』UTF-8プロパティ・ファイルに関する項を参照してください。