ネイティブ・イメージ検査ツール
ネイティブ・イメージは、ネイティブ実行可能ファイルまたはネイティブ共有ライブラリに含まれるすべてのメソッドをリストする検査ツールを提供します。コマンド$JAVA_HOME/bin/native-image-inspect <path_to_binary>
を実行して、native-image-inspect-schema-v0.2.0.json
で定義されたJSONスキーマに対して検証されるクラス、メソッド、フィールドおよびコンストラクタをJSON形式でリストします。
ノート: 検査ツールは、GraalVM Community Editionでは使用できません。
native-image
ビルダーでは、デフォルトでネイティブ実行可能ファイルにメタデータが含まれ、これによって、検査ツールで含まれるメソッドをリストできるようになります。
含まれるデータの量はイメージ全体のサイズと比較してかなり小さくなりますが、-H:-IncludeMethodsData
オプションを設定して、メタデータの発行を無効にできます。このオプションでコンパイルされたイメージは、ツールで検査できません。
ソフトウェア部品表(SBOM)
ネイティブ・イメージは、ビルド時にソフトウェア部品表(SBOM)を埋め込んで、既知のセキュリティの脆弱性の影響を受ける可能性のあるライブラリを検出できます。ネイティブ・イメージには、SBOMをネイティブ実行可能ファイルに埋め込むための--enable-sbom
オプションが用意されています。
ノート: ソフトウェア部品表(SBOM)の埋込みは、GraalVM Community Editionでは使用できません。現在、この機能は試験段階です。
このツールは、$JAVA_HOME/bin/native-image-inspect --sbom <path_to_binary>
からアクセス可能なオプションの--sbom
パラメータを使用して、圧縮されたSBOMを抽出できます。