

 適用於 Java 的 AWS SDK 1.x 已於 2025 年 12 月 31 日end-of-support。我們建議您遷移至 [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**
+ [使用軟體開發套件搭配 Apache Maven](setup-project-maven.md)
+ [使用軟體開發套件搭配 Gradle](setup-project-gradle.md)

# 使用軟體開發套件搭配 Apache Maven
<a name="setup-project-maven"></a>

您可以使用 [Apache Maven](https://maven.apache.org/) 來設定和建置 適用於 Java 的 AWS SDK 專案，或建置 SDK 本身。

**注意**  
您必須已安裝 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 原型](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 入門指南](https://maven.apache.org/guides/getting-started/)提供建立和設定專案的更多相關資訊。

## 將 SDK 設定為 Maven 相依性
<a name="configuring-maven"></a>

若要在專案 適用於 Java 的 AWS SDK 中使用 ，您需要在專案的 `pom.xml` 檔案中將其宣告為相依性。從 1.9.0 版開始，您可以匯入[個別元件](#configuring-maven-individual-components)或[整個 SDK](#configuring-maven-entire-sdk)。

### 指定個別 SDK 模組
<a name="configuring-maven-individual-components"></a>

若要選取個別 SDK 模組，請使用 Maven 的物料 適用於 Java 的 AWS SDK 清單 (BOM)，這將確保您指定的模組使用相同版本的 SDK，且彼此相容。

若要使用 BOM，請將 `<dependencyManagement>`區段新增至應用程式的 `pom.xml` 檔案，新增 `aws-java-sdk-bom`做為相依性，並指定您要使用的 SDK 版本：

```
<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：//[https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom)。您也可以使用此頁面來查看哪些模組 （相依性） 是由 BOM 管理，您可以包含在專案`pom.xml`檔案的 `<dependencies>`區段中。

您現在可以從應用程式中使用的 SDK 中選取個別模組。由於您已經在 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)。

### 匯入所有 SDK 模組
<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
```

這將在 `target`目錄中建立您的 `0jar` 檔案。

## 使用 Maven 建置 SDK
<a name="building-with-maven"></a>

您可以使用 Apache Maven 從來源建置 SDK。若要這樣做，[請從 GitHub 下載 SDK 程式碼](https://github.com/aws/aws-sdk-java)，在本機解壓縮，然後執行下列 Maven 命令：

```
mvn clean install
```

# 使用軟體開發套件搭配 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 中央儲存庫](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) 以來，您可以使用 Gradle 改善的 POM 支援功能，透過宣告對 BOM 的相依性來匯入物料清單 (BOM) 檔案。

1. 如果您使用 Gradle 5.0 或更新版本，請跳至步驟 2。否則，請在 `settings.gradle` 檔案中啟用 *IMPROVED\$1POM\$1SUPPORT* 功能。

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

1. 將 BOM 新增至應用程式`build.gradle`檔案的*相依性*區段。

   ```
   ...
   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 管理的模組 （相依性） 會列在 [Maven 中央儲存庫](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 for 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. 指定您將在*相依性*區段中使用的 SDK 模組。例如，以下內容包含 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 管理的模組 （相依性） 會列在 [Maven 中央儲存庫](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)上。

如需使用 BOM 指定 SDK 相依性的詳細資訊，請參閱[搭配 Apache Maven 使用 SDK](setup-project-maven.md)。