

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を使用する GraalVM ネイティブイメージプロジェクトを設定する AWS SDK for Java 2.x
<a name="setup-project-graalvm"></a>

バージョン 2.16.1 以降では、 AWS SDK for Java 2.x は GraalVM ネイティブイメージアプリケーションのout-of-the-boxサポートを提供します。`archetype-app-quickstart` Maven アーキタイプを使用して、ネイティブイメージサポートが組み込まれたプロジェクトを設定します。

## 前提条件
<a name="setup-graalvmnativeimage-prereq"></a>
+ [AWS SDK for Java 「2.x のセットアップ」のステップを完了します](setup.md)。
+ [GraalVM Native Image](https://www.graalvm.org/reference-manual/native-image/#install-native-image) をインストールします。

## アーキタイプを使用してプロジェクトを作成する
<a name="setup-graalvmnativeimage-project"></a>

ネイティブイメージサポートが組み込まれた 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、および HTTP クライアントの依存関係で設定された Maven `ApacheHttpClient` プロジェクトを作成します。また、[GraalVM Native Image Maven プラグイン](https://graalvm.github.io/native-build-tools/latest/index.html)への依存関係も含まれているため、Maven を使用してネイティブイメージを構築できます。

別の の依存関係を含めるには Amazon Web Services、 `-Dservice`パラメータの値をそのサービスのアーティファクト ID に設定します。例には、`dynamodb`、`comprehend`、`pinpoint` が含まれます。アーティファクト ID の詳細なリストについては、[Maven Central の software.amazon.awssdk](https://mvnrepository.com/artifact/software.amazon.awssdk/bom/latest) のマネージド依存関係のリストを参照してください。

非同期 HTTP クライアントを使用するには、`-DhttpClient` パラメータを `netty-nio-client` に設定します。同期 HTTP クライアントとして `apache-client` の代わりに `UrlConnectionHttpClient` を使用するには、`-DhttpClient` パラメータを `url-connection-client` に設定します。

## ネイティブイメージを構築する
<a name="build-graalvmnativeimage-project"></a>

プロジェクトを作成したら、プロジェクトディレクトリから次のコマンドを実行します (例: `mynativeimageapp`:)。

```
mvn package -P native-image
```

これにより、`target` ディレクトリにネイティブイメージアプリケーションが作成されます (例: `target/mynativeimageapp`)。