

 AWS SDK for Java 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으로 SDK 사용하기](setup-project-maven.md)
+ [Gradle로 SDK 사용하기](setup-project-gradle.md)

# Apache Maven으로 SDK 사용하기
<a name="setup-project-maven"></a>

[Apache Maven](https://maven.apache.org/)을 사용하여 AWS SDK for Java 프로젝트를 구성 및 빌드하거나 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>

AWS SDK for Java를 프로젝트에서 사용하려면 프로젝트의 `pom.xml` 파일에서 종속성으로 선언해야 합니다. 버전 1.9.0부터는 [개별 구성 요소](#configuring-maven-individual-components) 또는 [전체 SDK](#configuring-maven-entire-sdk)를 가져올 수 있습니다.

### 개별 SDK 모듈 지정
<a name="configuring-maven-individual-components"></a>

개별 SDK 모듈을 선택하려면 Maven용 AWS SDK for Java 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에서 사용할 수 있는 AWS SDK for Java BOM의 최신 버전을 보려면 [https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom)을 참조하십시오. 또한 이 페이지를 사용하여 BOM에 의해 관리되며 프로젝트의 `<dependencies>` 파일의 `pom.xml` 섹션에 포함할 수 있는 모듈(종속성)을 확인할 수도 있습니다.

이제 애플리케이션에서 사용하는 SDK에서 개별 모듈을 선택할 수 있습니다. 이미 BOM에 SDK 버전을 선언했으므로 각 구성 요소마다 버전 번호를 지정할 필요가 없습니다.

```
<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>

*전체* SDK를 종속성으로 끌어오려면 BOM 메서드를 사용하지 않고 단순히 다음과 같이 `pom.xml`에서 해당 SDK를 선언하면 됩니다.

```
<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을 사용하여 SDK 빌드
<a name="building-with-maven"></a>

Apache Maven을 사용하여 소스에서 SDK를 빌드할 수 있습니다. 이렇게 하려면 [GitHub에서 SDK 코드를 다운로드](https://github.com/aws/aws-sdk-java)한 다음, 로컬로 압축을 풀고 나서 다음 Maven 명령을 실행합니다.

```
mvn clean install
```

# Gradle로 SDK 사용하기
<a name="setup-project-gradle"></a>

[Gradle](https://gradle.com/) 프로젝트의 SDK 종속성을 관리하려면의 Maven BOM AWS SDK for Java 을 애플리케이션의 `build.gradle` 파일로 가져옵니다.

**참고**  
다음 예제에서는 빌드 파일의 *1.12.529*를 AWS SDK for Java의 유효한 버전으로 바꿉니다. [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) BOM(Bill Of Material)에 종속성을 선언하면 Gradle의 향상된 POM 지원 기능을 사용하여 BOM 파일을 가져올 수 있습니다.

1. Gradle 5.0 이상을 사용하는 경우 2단계로 건너뜁니다. 그렇지 않으면 `settings.gradle` 파일에서 *IMPROVED\$1POM\$1SUPPORT* 기능을 활성화하세요.

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

1. 애플리케이션의 `build.gradle` 파일에서 *종속성* 섹션에 BOM을 추가합니다.

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

1. *종속성* 섹션에 사용할 SDK 모듈을 지정합니다. 예를 들어, 다음은 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의 정보를 사용하여 올바른 SDK 종속성 버전을 자동으로 확인합니다.

다음은 종속성이 포함된 전체 `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'
}
```

**참고**  
이전 예제에서의 종속성을 프로젝트에서 사용할 AWS 서비스의 종속성 Amazon S3 으로 바꿉니다. AWS SDK for Java 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 지원이 부족합니다. 프로젝트의 AWS SDK for Java 종속성을 관리하려면 Gradle용 Spring의 [종속성 관리 플러그인](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의 정보를 사용하여 올바른 SDK 종속성 버전을 자동으로 확인합니다.

다음은 종속성이 포함된 전체 `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'
}
```

**참고**  
이전 예제에서의 종속성을 프로젝트에서 사용할 AWS 서비스의 종속성 Amazon S3 으로 바꿉니다. AWS SDK for Java BOM에서 관리하는 모듈(종속성)은 [Maven 중앙 리포지토리](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)에 나열됩니다.

BOM을 사용한 SDK 종속성 지정에 대한 자세한 내용은 [Apache Maven으로 SDK 사용하기](setup-project-maven.md)를 참조하십시오.