设置使用AWS SDK for Java 2.x 的 GraalVM 原生映像项目
在 2.16.1 及更高版本中,AWS SDK for Java 2.x 为 GraalVM 原生映像应用程序提供了开箱即用的支持。使用 archetype-app-quickstart Maven 原型设置具有内置原生映像支持的项目。
先决条件
-
完成设置适用于 Java 的 AWS SDK 2.x 中的步骤。
-
安装 GraalVM 原生映像
。
使用原型创建项目
要创建具有内置原生映像支持的 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
此命令创建一个 Maven 项目,该项目配置了适用于 Java 的 AWS SDK、Amazon S3 和 ApacheHttpClient HTTP 客户端的依赖项。它还包含 GraalVM 原生映像 Maven 插件
要包含其他 Amazon Web Services 的依赖项,请将 -Dservice 参数的值设置为该服务的构件 ID。示例包括 dynamodb、comprehend 和 pinpoint。有关构件 ID 的完整列表,请参阅 Maven Central 中的 software.amazon.awssdk
要使用异步 HTTP 客户端,请将 -DhttpClient 参数设置为 netty-nio-client。要使用 UrlConnectionHttpClient 作为同步 HTTP 客户端,而不使用 apache-client,请将 -DhttpClient 参数设置为 url-connection-client。
生成原生映像
创建项目后,从项目目录(例如 mynativeimageapp)中运行以下命令:
mvn package -P native-image
这将在 target 目录(例如 target/mynativeimageapp)中创建原生映像应用程序。