AWS SDK for Java 2.x を使用する GraalVM Native Image プロジェクトを設定する
バージョン 2.16.1 以降では、AWS SDK for Java 2.x は GraalVM Native Image アプリケーションにすぐに使用できるサポートを提供します。archetype-app-quickstart Maven アーキタイプを使用して、ネイティブイメージサポートが組み込まれたプロジェクトを設定します。
前提条件
-
AWS SDK for Java 2.x の設定の手順を完了します。
-
GraalVM Native Image
をインストールします。
アーキタイプを使用してプロジェクトを作成する
ネイティブイメージサポートが組み込まれた Maven プロジェクトを作成するには、ターミナルまたはコマンドプロンプトウィンドウで、次のコマンドを使用します。
注記
アプリケーションのフルパッケージ名前空間を com.example.mynativeimageapp に置き換えます。また、mynativeimageapp をプロジェクト名に置き換えます。これがプロジェクトのディレクトリの名前になります。
mvn archetype:generate \ -DarchetypeGroupId=software.amazon.awssdk \ -DarchetypeArtifactId=archetype-app-quickstart \ -DarchetypeVersion=2.27.21\ -DnativeImage=true \ -DhttpClient=apache-client \ -Dservice=s3 \ -DgroupId=com.example.mynativeimageapp \ -DartifactId=mynativeimageapp \ -DinteractiveMode=false
このコマンドは、AWS SDK for Java、Amazon S3、および ApacheHttpClient HTTP クライアントの依存関係で設定された Maven プロジェクトを作成します。また、GraalVM Native Image Maven プラグイン
別の Amazon Web Services の依存関係を含めるには、-Dservice パラメータの値をそのサービスのアーティファクト ID に設定します。例には、dynamodb、comprehend、pinpoint が含まれます。アーティファクト ID の詳細なリストについては、Maven Central の software.amazon.awssdk
非同期 HTTP クライアントを使用するには、-DhttpClient パラメータを netty-nio-client に設定します。同期 HTTP クライアントとして apache-client の代わりに UrlConnectionHttpClient を使用するには、-DhttpClient パラメータを url-connection-client に設定します。
ネイティブイメージを構築する
プロジェクトを作成したら、プロジェクトディレクトリから次のコマンドを実行します (例: mynativeimageapp:)。
mvn package -P native-image
これにより、target ディレクトリにネイティブイメージアプリケーションが作成されます (例: target/mynativeimageapp)。