

 适用于 Java 的 AWS SDK 1.x于2025年 end-of-support 12月31日达到。我们建议您迁移到 [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html) 以继续获得新功能、可用性改进和安全更新。

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

# 使用构建工具
<a name="setup-build-tools"></a>

使用构建工具有助于管理 Java 项目的开发。有几种构建工具可用，但我们将演示如何使用 Maven 和 Gradle 这两种流行的构建工具来启动和运行。本主题介绍如何使用这两种构建工具管理项目所需的适用于 Java 的 SDK 依赖项。

**Topics**
+ [将 SDK 与 Apache Maven 结合使用](setup-project-maven.md)
+ [将 SDK 与 Gradle 结合使用](setup-project-gradle.md)

# 将 SDK 与 Apache Maven 结合使用
<a name="setup-project-maven"></a>

您可以使用 [Apache Maven](https://maven.apache.org/) 配置和构建适用于 Java 的 AWS SDK项目或构建开发工具包本身。

**注意**  
您必须安装 Maven 才能使用本主题中的指导信息。如果尚未安装 Maven，请访问 [http://maven.apache.org/](http://maven.apache.org/) 下载并进行安装。

## 创建新的 Maven 软件包
<a name="create-a-new-maven-package"></a>

要创建基本的 Maven 软件包，请打开终端 (命令行) 窗口并运行：

```
mvn -B archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=org.example.basicapp \
  -DartifactId=myapp
```

将 *org.example.basicapp* 替换为您的应用程序的完整软件包命名空间，将 *myapp* 替换为项目的名称 (这将变为项目的目录名称)。

默认情况下，使用 [quickstart](http://maven.apache.org/archetypes/maven-archetype-quickstart/) 原型为您创建项目模板，该原型是许多项目的绝佳起点。还提供了更多原型；有关随该软件打包的原型的列表，请访问 [Maven archetypes](https://maven.apache.org/archetypes/index.html) 页面。可以通过向 `-DarchetypeArtifactId` 命令中添加 `archetype:generate` 参数来选择要使用的特定原型。例如：

```
mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DarchetypeArtifactId=maven-archetype-webapp \
  -DgroupId=org.example.webapp \
  -DartifactId=mywebapp
```

**注意**  
《[Maven Getting Started Guide](https://maven.apache.org/guides/getting-started/)》中提供了有关创建和配置项目的详细信息。

## 将开发工具包配置为 Maven 依赖项
<a name="configuring-maven"></a>

要在项目中使用适用于 Java 的 AWS SDK，您需要在项目的 `pom.xml` 文件中将该工具包声明为依赖项。从 1.9.0 版开始，可以导入[单个组件](#configuring-maven-individual-components)或[整个开发工具包](#configuring-maven-entire-sdk)。

### 指定单独的开发工具包模块
<a name="configuring-maven-individual-components"></a>

要选择单个开发工具包模块，请使用适用于 Java 的 AWS SDK 的 Maven 材料清单 (BOM)，这将确保您指定的所有模块使用相同版本的开发工具包而且相互兼容。

要使用 BOM，请向应用程序的 `<dependencyManagement>` 文件中添加一个 `pom.xml` 部分，将 `aws-java-sdk-bom` 作为依赖项添加并指定要使用的开发工具包的版本：

```
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-bom</artifactId>
      <version>1.11.1000</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
```

要查看 Maven Central 中提供的最新版本的适用于 Java 的 AWS SDK BOM，请访问：[https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom)。您也可以使用此页查看项目 `<dependencies>` 文件的 `pom.xml` 部分中包括的 BOM 管理了哪些模块（依赖项）。

现在，可以从您的应用程序中所使用的开发工具包中选择单个模块。由于您已经在 BOM 中声明了开发工具包版本，因此无需为每个组件都指定版本号。

```
<dependencies>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-s3</artifactId>
  </dependency>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-dynamodb</artifactId>
  </dependency>
</dependencies>
```

还可以参考 * AWS 代码示例目录 * 来了解要用于给定 AWS 服务的依赖项。请参阅特定的服务示例下的 POM 文件。例如，如果您想了解 AWS S3 服务的依赖项，请参阅 GitHub 上的[完整示例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetAcl.java)。（查看 /java/example\$1code/s3 下的 pom）。

### 导入所有开发工具包模块
<a name="configuring-maven-entire-sdk"></a>

如果您想将*整个*开发工具包作为一个依赖项拉入，请勿使用 BOM 方法，而只需在 `pom.xml` 中声明该开发工具包，如下所示：

```
<dependencies>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk</artifactId>
    <version>1.11.1000</version>
  </dependency>
</dependencies>
```

## 重新构建项目。
<a name="build-your-project"></a>

在设置项目之后，可以使用 Maven 的 `package` 命令进行构建：

```
mvn package
```

这会在 `0jar` 目录中创建 `target` 文件。

## 使用 Maven 构建开发工具包
<a name="building-with-maven"></a>

可以使用 Apache Maven 从源构建开发工具包。为此，请[从 GitHub 下载开发工具包代码](https://github.com/aws/aws-sdk-java)，在本地解压缩，然后执行下面的 Maven 命令：

```
mvn clean install
```

# 将 SDK 与 Gradle 结合使用
<a name="setup-project-gradle"></a>

要管理 [Gradle](https://gradle.com/) 项目的 SDK 依赖关系，请将的 Maven BOM 导 适用于 Java 的 AWS SDK 入到应用程序的文件中。`build.gradle`

**注意**  
在以下示例中，将生成文件*1.12.529*中的替换为的有效版本 适用于 Java 的 AWS SDK。在 [Maven Central 存储库](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)中查找最新版本。

## Gradle 4.6 或更高版本的项目设置
<a name="project-setup-for-gradle-4-6-or-higher"></a>

 [自 Gradle 4.6 开始](https://docs.gradle.org/4.6/release-notes.html#bom-import)，通过声明针对 BOM 的依赖项，便可以使用 Gradle 的经过改进的 POM 支持功能来导入材料清单 (BOM) 文件。

1. 如果您使用的是 Gradle 5.0 或更高版本，请跳至步骤 2。否则，请在 `settings.gradle` 文件中启用 *IMPROVED\$1POM\$1SUPPORT* 功能。

   ```
   enableFeaturePreview('IMPROVED_POM_SUPPORT')
   ```

1. 将 BOM 添加到应用程序 `build.gradle` 文件的 *dependencies* 部分。

   ```
   ...
   dependencies {
       implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
   
       // Declare individual SDK dependencies without version
       ...
   }
   ```

1. 在 *dependencies* 部分中指定要使用的开发工具包模块。例如，以下内容包含 Amazon Simple Storage Service (Amazon S3) 的依赖关系。

   ```
   ...
   dependencies {
       implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
       implementation 'com.amazonaws:aws-java-sdk-s3'
       ...
   }
   ```

Gradle 会自动使用 BOM 中的信息来解析开发工具包依赖项的正确版本。

以下是包含依赖项的完整`build.gradle`文件的示例 Amazon S3。

```
group 'aws.test'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

dependencies {
  implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
  implementation 'com.amazonaws:aws-java-sdk-s3'
}
```

**注意**  
在前面的示例中，将的 Amazon S3 依赖关系替换为您将在项目中使用的 AWS 服务的依赖关系。由 适用于 Java 的 AWS SDK BOM 管理的模块（依赖关系）列在 M [aven 中央存储库中](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)。

## 用于 4.6 之前的 Gradle 版本的项目设置
<a name="project-setup-for-gradle-versions-earlier-than-4-6"></a>

早于 4.6 的 Gradle 版本缺少本机 BOM 支持。要管理项目的 适用于 Java 的 AWS SDK 依赖关系，请使用 Spring 的 Gradle [依赖关系管理插件](https://github.com/spring-gradle-plugins/dependency-management-plugin)导入 SDK 的 Maven BOM。

1. 向应用程序的 `build.gradle` 文件添加依赖项管理插件。

   ```
   buildscript {
       repositories {
           mavenCentral()
       }
       dependencies {
           classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
       }
   }
   
   apply plugin: "io.spring.dependency-management"
   ```

1. 将 BOM 添加到该文件的 *dependencyManagement* 部分。

   ```
   dependencyManagement {
       imports {
           mavenBom 'com.amazonaws:aws-java-sdk-bom:1.12.529'
       }
   }
   ```

1. 在 *dependencies* 部分中指定您将使用的开发工具包模块。例如，以下内容包含 Amazon S3的依赖项。

   ```
   dependencies {
       compile 'com.amazonaws:aws-java-sdk-s3'
   }
   ```

Gradle 会自动使用 BOM 中的信息来解析开发工具包依赖项的正确版本。

以下是包含依赖项的完整`build.gradle`文件的示例 Amazon S3。

```
group 'aws.test'
version '1.0'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
  }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
  imports {
    mavenBom 'com.amazonaws:aws-java-sdk-bom:1.12.529'
  }
}

dependencies {
  compile 'com.amazonaws:aws-java-sdk-s3'
  testCompile group: 'junit', name: 'junit', version: '4.11'
}
```

**注意**  
在前面的示例中，将的 Amazon S3 依赖关系替换为您将在项目中使用的 AWS 服务的依赖关系。由 适用于 Java 的 AWS SDK BOM 管理的模块（依赖关系）列在 M [aven 中央存储库中](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)。

有关使用 BOM 指定开发工具包依赖项的更多信息，请参阅[将开发工具包与 Apache Maven 一起使用](setup-project-maven.md)。