设置 Apache Maven 项目 - AWS SDK for Java 2.x

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置 Apache Maven 项目

你可以使用 Apache Maven 来设置和构建AWS SDK for Java项目,也可以自己构建 SDK。

先决条件

要将AWS SDK for Java与 Maven 结合使用,您需要以下各项:

创建 Maven 项目

要从命令行创建 Maven 项目,请从终端或命令提示符窗口运行以下命令。

mvn -B archetype:generate \ -DarchetypeGroupId=software.amazon.awssdk \ -DarchetypeArtifactId=archetype-lambda -Dservice=s3 -Dregion=US_WEST_2 \ -DarchetypeVersion=2.X.X \ -DgroupId=com.example.myapp \ -DartifactId=myapp
注意

com.example.myapp 替换为您的应用程序的完整程序包命名空间。还可以将 myapp 替换为您的项目名称。这将成为项目的目录的名称。

要使用最新版本的原型,请将 2.X.X 替换为 Maven central 的最新版本。

此命令使用原型模板工具包创建 Maven 项目。原型为AWS Lambda函数处理程序项目生成脚手架。此项目原型已预配置为使用 Java SE 8 进行编译并将开发工具包指定为开发工具包版本。-DarchetypeVersion

有关创建和配置 Maven 项目的更多信息,请参阅 Maven 入门指南

为 Maven 配置 Java 编译器

如果您使用前面描述的AWS Lambda项目原型创建了项目,则已经为您完成了 Java 编译器的配置。

要验证此配置存在,请首先从执行上一个命令时创建的项目文件夹(例如, myapp)中打开 pom.xml 文件。检查第 11 行和第 12 行以查看此 Maven 项目的 Java 编译器版本设置,以及检查第 71-75 行上是否包含所需的 Maven 编译器插件。

<project> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.compiler.plugin.version}</version> </plugin> </plugins> </build> </project>

如果使用其他原型或其他方法创建项目,则必须确保 Maven 编译器插件是构建的一部分并将开发工具包中的源和目标属性均设置为 1.8pom.xml

有关一种配置这些必需设置的方法,请参阅上一个代码段。

或者,您可以使用插件声明内联配置编译器配置,如下所示。

<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>

将开发工具包声明为依赖项

要在项目AWS SDK for Java中使用,你需要在项目pom.xml文件中将其声明为依赖关系。

如果您使用前面描述的项目原型创建了项目,则最新版本的 SDK 已配置为项目中的依赖项。

原型为software.amazon.awssdk群组 ID 生成 BOM(物料清单)工件依赖关系。使用 BOM,您不必为共享相同组 ID 的单个构件依赖项指定 maven 版本。

如果您以不同的方式创建了 Maven 项目,请通过确保 pom.xml 文件包含以下内容来为项目配置最新版本的开发工具包。

<project> <properties> <aws.java.sdk.version>2.X.X</aws.java.sdk.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>${aws.java.sdk.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> </project>
注意

pom.xml文件中的 2.X.X 替换为最新版本的。AWS SDK for Java 2.x

设置开发工具包模块的依赖项

现在您已配置了开发工具包,您可以为项目中要使用的一个或多个AWS SDK for Java模块添加依赖项。

尽管您可以为每个组件指定版本号,但您不必这样做,因为您已经使用物料清单构件dependencyManagement在本节中声明了 SDK 版本。要加载给定模块的不同版本,请为其依赖项指定版本号。

如果您使用前面描述的项目原型创建了项目,则您的项目已经配置了多个依赖关系。其中包括AWS Lambda函数处理程序和 Amazon S3 的依赖关系,如下所示。

<project> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <exclusions> <exclusion> <groupId>software.amazon.awssdk</groupId> <artifactId>netty-nio-client</artifactId> </exclusion> <exclusion> <groupId>software.amazon.awssdk</groupId> <artifactId>apache-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>url-connection-client</artifactId> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-lambda-java-core</artifactId> <version>${aws.lambda.java.version}</version> </dependency> </dependencies> </project>
注意

在上面的pom.xml示例中,依赖关系来自不同的 groupId s。s3依赖关系来自software.amazon.awssdk,而aws-lambda-java-core依赖关系来自com.amazonaws。BOM 依赖关系管理配置会影响对象software.amazon.awssdk,因此需要为构aws-lambda-java-core件提供版本。

对于使用适用于 Java 2.x 的 SDK 开发 Lambda 函数处理程序来说,aws-lambda-java-core这是正确的依赖关系。但是,如果您的应用程序需要管理 Lambda 资源,则使用、listFunctionsdeleteFunctioninvokeFunction、和等操作时createFunction,您的应用程序需要以下依赖关系。

<groupId>software.amazon.awssdk</groupId> <artifactId>lambda</artifactId>
注意

s3依赖关系不包括netty-nio-client和传apache-client递依赖关系。原型包括url-connection-client依赖关系,这有助于减少AWS Lambda函数的启动延迟,从而取代了这两个 HTTP 客户端。

将项目所需的模块AWS 服务和功能添加到您的项目中。由 AWS SDK for Java BOM 管理的模块(依赖关系)在 M aven 中央存储库中列出。

注意

您可以从代码示例中查看 pom.xml 文件,以确定您的项目需要哪些依赖项。例如,如果您对 DynamoDB 服务的依赖关系感兴趣,请参阅AWS代码示例存储库中的此示例。GitHub(在 /javav2/exam pom.xml ple_code/dynamodb 下查找。)

将整个开发工具包构建到您的项目中

为了优化您的应用程序,强烈建议您仅拉入所需的组件而不是整个开发工具包。但是,要将整个AWS SDK for Java构建到您的项目中,请在 pom.xml 文件中声明它,如下所示。

<project> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-sdk-java</artifactId> <version>2.X.X</version> </dependency> </dependencies> </project>

重新构建项目。

配置 pom.xml 文件后,您可以使用 Maven 构建您的项目。

要从命令行生成 Maven 项目,请打开终端或命令提示符窗口,导航到项目目录(例如,myapp),输入或粘贴以下命令,然后按 Enter 或 Return。

mvn package

这将在 target 目录(例如, myapp/target)中创建单个 .jar 文件 (JAR)。此 JAR 包含您在 pom.xml 文件中指定为依赖项的所有开发工具包模块。