翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Apache Maven プロジェクトを設定する
Apache Maven
前提条件
Maven AWS SDK for Java で を使用するには、以下が必要です。
-
Java 8.0 以降。最新の Java SE Development Kit ソフトウェアは http://www.oracle.com/technetwork/java/javase/downloads/
からダウンロードできます。は Amazon Corretto、OpenJDK Java Development Kit (Open ) のディストリビューションである Open および AWS SDK for Java とも連携しますJDK。から最新の OpenJDK バージョンをダウンロードしますhttps://openjdk.java.net/install/index.html 。ページから最新の Amazon Corretto 8 または Amazon Corretto 11 バージョンをダウンロードします。 Corretto -
Apache Maven。Maven をインストールする必要がある場合は、http://maven.apache.org/
にアクセスしてダウンロードおよびインストールします。
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 でコンパイルするように事前設定されており、 で指定された SDK for Java 2.x のバージョンへの依存関係が含まれています-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 コンパイラプラグインがビルドの一部となっており、そのソースプロパティとターゲットプロパティの両方が pom.xml
ファイルで 1.8 に設定されているようにする必要があります。
これらの必須の設定を指定する 1 つの方法として、前述のスニペットを参照してください。
または、次のように、プラグイン宣言を使用してインラインでコンパイラ設定を指定することもできます。
<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>
を依存関係SDKとして宣言する
プロジェクト AWS SDK for Java で を使用するには、プロジェクトの pom.xml
ファイルで依存関係として宣言する必要があります。
前述のようにプロジェクトアーキタイプを使用してプロジェクトを作成した場合、 の最新バージョンSDKは、プロジェクト内の依存関係として既に設定されています。
アーキタイプは、software.amazon.awssdk
グループ ID の BOM (部品表) アーティファクト依存関係を生成します。ではBOM、同じグループ ID を共有する個々のアーティファクトの依存関係に対して、maven バージョンを指定する必要はありません。
Maven プロジェクトを別の方法で作成した場合は、pom.xml
ファイルに以下が含まれていることを確認し、SDKプロジェクトの最新バージョンの を設定します。
<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>
注記
置換 2.X.X
の最新バージョン AWS SDK for Java 2.xpom.xml
ファイル。
SDK モジュールの依存関係を設定する
を設定したらSDK、プロジェクトで使用する 1 つ以上の 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
からのものです。s3
依存関係は software.amazon.awssdk
からのもので、aws-lambda-java-core
依存関係は com.amazonaws
からのものです。BOM 依存関係管理設定は のアーティファクトに影響するためsoftware.amazon.awssdk
、aws-lambda-java-core
アーティファクトにはバージョンが必要です。
for SDKJava 2.x を使用した Lambda 関数ハンドラーの開発では、 aws-lambda-java-core
が正しい依存関係です。ただし listFunctions
、deleteFunction
、invokeFunction
および createFunction
などのオペレーションを使用して Lambda リソースを管理する必要があるアプリケーションには、次の依存関係が必要です。
<groupId>software.amazon.awssdk</groupId> <artifactId>lambda</artifactId>
注記
s3
依存関係には、netty-nio-client
および apache-client
推移的な依存関係は含まれません。これらのHTTPクライアントの代わりに、アーキタイプにはurl-connection-client
依存関係が含まれており、関数 の AWS Lambda 起動レイテンシーを減らすのに役立ちます。
プロジェクトに必要な AWS のサービス と機能のために、モジュールをプロジェクトに追加します。によって AWS SDK for Java 管理されるモジュール (依存関係) はBOM、Maven 中央リポジトリ
注記
コード例から pom.xml
ファイルを参照して、プロジェクトに必要な依存関係を特定できます。例えば、DynamoDB サービスの依存関係に関心がある場合は、 の AWS Code Examples Repositorypom.xml
ファイルを確認してください。)
全体をプロジェクトSDKに構築する
アプリケーションを最適化するには、 全体ではなく、必要なコンポーネントのみを取り込むことを強くお勧めしますSDK。ただし、プロジェクト 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
ディレクトリに 1 つの.jar
ファイル (JAR) が作成されます (例: myapp/target
)。これには、pom.xml
ファイルで依存関係として指定したすべてのSDKモジュールJARが含まれます。