ネイティブ・イメージのURLプロトコル

ネイティブ・イメージのURLプロトコルは、次の3つのクラスに分けることができます:

デフォルトでのサポートと有効化

これらのプロトコルは、デフォルトで有効になっており、生成されたすべてのネイティブ・イメージに追加されます。現在、デフォルトでサポートされ、有効化されているURLプロトコルは、fileおよびresourceのみです。

デフォルトでのサポートと無効化

これらのプロトコルは、サポートされているものの、ネイティブ・イメージのビルド時にデフォルトでは無効化されています。これらは、ネイティブ・イメージのビルド時に、native-imageコマンドに--enable-url-protocols=<protocols>を追加することによって有効にする必要があります。このオプションでは、カンマ区切りのプロトコルのリストを指定できます。

プロトコルをオンデマンドで有効にする理由は、最小限のイメージから始めて、必要に応じて機能を追加できることです。これにより、イメージには使用する機能のみが含まれ、全体的なサイズを小さく保つことができます。現在、サポートされているものの、オンデマンドで有効にする必要があるURLプロトコルは、httpおよびhttpsのみです。これらは、--enable-httpおよび--enable-httpsオプションを使用して有効にできます。

HTTPSサポート

https URLプロトコルのサポートは、Java暗号化アーキテクチャ(JCA)フレームワークに依存します。したがって、httpsを有効にすると、JCAが依存する可能性のあるネイティブ・ライブラリの静的なリンクなど、JCAで必要なコードが生成済イメージに追加されます。詳細は、セキュリティ・サービスに関するドキュメントを参照してください。

未テスト

その他のURLプロトコルは現在テストされていません。これらも--enable-url-protocols=<protocols>を使用して有効にできますが、想定どおりに動作しない可能性があります。