ネイティブ・イメージのURLプロトコル
ネイティブ・イメージのURLプロトコルは、次の3つのクラスに分けることができます:
- デフォルトでのサポートと有効化
- デフォルトでのサポートと無効化
- HTTPSサポート
デフォルトでのサポートと有効化
これらのプロトコルは、デフォルトで有効になっており、生成されたすべてのネイティブ・イメージに追加されます。現在、デフォルトでサポートされ、有効化されている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>
を使用して有効にできますが、想定どおりに動作しない可能性があります。