

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定使用 的 GraalVM 原生映像專案 AWS SDK for Java 2.x
<a name="setup-project-graalvm"></a>

使用 2.16.1 版和更新版本時， 為 GraalVM 原生映像應用程式 AWS SDK for Java 2.x 提供out-of-the-box支援。使用 `archetype-app-quickstart` Maven 原型來設定具有內建原生映像支援的專案。

## 先決條件
<a name="setup-graalvmnativeimage-prereq"></a>
+ 完成[設定 適用於 Java 的 AWS SDK 2.x](setup.md) 中的步驟。
+ 安裝 [GraalVM 原生映像](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
```

此命令會為 適用於 Java 的 AWS SDK Amazon S3、 和 `ApacheHttpClient` HTTP 用戶端建立以相依性設定的 Maven 專案。它還包含 [GraalVM 原生映像 Maven 外掛程式](https://graalvm.github.io/native-build-tools/latest/index.html)的相依性，因此您可以使用 Maven 建置原生映像。

若要包含不同 的相依性 Amazon Web Services，請將 `-Dservice` 參數的值設定為該服務的成品 ID。範例包括 `dynamodb`、`comprehend` 和 `pinpoint`。如需成品 IDs 的完整清單，請參閱 [Maven Central 上 software.amazon.awssdk](https://mvnrepository.com/artifact/software.amazon.awssdk/bom/latest) 的受管相依性清單。

若要使用非同步 HTTP 用戶端，請將 `-DhttpClient` 參數設定為 `netty-nio-client`。若要使用 `UrlConnectionHttpClient`做為同步 HTTP 用戶端而非 `apache-client`，請將 `-DhttpClient` 參數設定為 `url-connection-client`。

## 建置原生映像
<a name="build-graalvmnativeimage-project"></a>

建立專案之後，請從專案目錄執行下列命令，例如 `mynativeimageapp`：

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

這會在 `target`目錄中建立原生映像應用程式，例如 `target/mynativeimageapp`。