AWS|AWS SDK for JavaをApache Mavenで利用する方法(AWS SDK for Java+Spring Boot)


ここでは、Eclipse+Spring Bootプロジェクト+MavenでAWS SDK for Javaを利用するための環境を構築する方法について紹介します。

参考

Apache Maven での SDK の使用

AWS SDK for Java 2.0 のセットアップ

AWS SDK for Java 2.x (GitHub)

開発環境

・Windows 10 64bit

・Eclipse 2018-12(Eclipse 4.10)

・Java 8

・Spring Boot 2.1.3(Spring Tool Suite 4)

・AWS SDK for Java 2.9.25

※ここでは、以下の記事で作成したSpring BootプロジェクトでAWS SDK for Javaを利用

Spring Tool Suite 4の開発環境構築(Eclipseにインストール)|STS4

環境構築(AWS SDK for Javaの設定)


プロジェクトの pom.xmlファイルでSDKを依存関係として宣言するだけで、プロジェクトでAWS SDK for Javaを設定することができます。

すべての SDK モジュールのインポート

pom.xmlファイルに以下の依存関係を宣言します。これで、すべてのSDKがディレクトリ「C:\Users\ユーザ名\.m2\repository\software」にインポートされます。

・pom.xml
<dependency>
  <groupId>software.amazon.awssdk</groupId>
  <artifactId>aws-sdk-java</artifactId>
  <version>2.9.24</version>
</dependency>

※AWS SDK for Javaの古いバージョンの場合は、groupIdが異なることがあります。

しかし、AWSの開発者ガイド(上記の参考の「AWS SDK for Java 2.0 のセットアップ」)に、以下の記載があり、この方法は、推奨されていないようです。よって、下記のように個別にSDKモジュールを指定します。

Apache Maven – Apache Maven を使用する場合は、必要な SDK コンポーネントのみ、または SDK 全体 (推奨されていません) をプロジェクトの依存関係として指定できます。

個別の SDK モジュールの指定

AWS SDK for JavaのMaven用の部品表 (BOM) を使用して、個々のSDKモジュールを選択することもできます。そうすることによって、指定したモジュールで同じバージョンの SDKが使用され、それらは互いに互換性があることが保証されます。

pom.xmlファイルに以下の依存関係を宣言します。これで、指定したSDKがディレクトリ「C:\Users\ユーザ名\.m2\repository\software」にインポートされます。

・pom.xml
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>bom</artifactId>
      <version>2.9.24</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>ec2</artifactId>
  </dependency>
  <dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>s3</artifactId>
  </dependency>
  <dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>dynamodb</artifactId>
  </dependency>
</dependencies>

【補足】
以下の依存関係を宣言して、設定することも可能です。

・pom.xml
<dependency>
  <groupId>software.amazon.awssdk</groupId>
  <artifactId>ec2</artifactId>
  <version>2.9.24</version>
</dependency>
<dependency>
  <groupId>software.amazon.awssdk</groupId>
  <artifactId>s3</artifactId>
  <version>2.9.24</version>
</dependency>



スポンサーリンク

0 件のコメント :

コメントを投稿