テスト目的で DynamoDB をローカルで実行しようとしています。Amazon が提供するセットアップ手順に従い、jar 自体を正常に実行しました (Amazon のチュートリアルへのリンクはこちら)。ただし、このチュートリアルでは、独自のプロジェクト内で jar を実行することについては触れていません。他のすべての開発者が、コードをテストするたびに jar を取得してローカルで実行する必要はありません。
それが私の質問の出番です。テストの一環として DynamoDB ローカル サーバーを実行するように Gradle プロジェクトを構成する方法の例をオンラインで見つけるのに本当に苦労しました。次の Maven の例を見つけましたhttps://github.com/awslabs/aws-dynamodb-examples/blob/master/src/test/java/com/amazonaws/services/dynamodbv2/DynamoDBLocalFixture.java#L32を変換しようとしていますそれをGradleに送信しますcom.amazonaws.services.dynamodbv2.local
が、使用しているすべてのインポートステートメントでエラーが発生しています. エラーは、リソースが見つからないことです。
build.gradle
私は彼らのプロジェクトのpomに行き、それをエミュレートするために私のファイルに以下を入れました。
//dynamodb local dependencies testCompile('com.amazonaws:aws-java-sdk-dynamodb:1.10.42') testCompile('com.amazonaws:aws-java-sdk-cloudwatch:1.10.42') testCompile('com.amazonaws:aws-java-sdk:1.3.0') testCompile('com.amazonaws:amazon-kinesis-client:1.6.1') testCompile('com.amazonaws:amazon-kinesis-connectors:1.1.1') testCompile('com.amazonaws:dynamodb-streams-kinesis-adapter:1.0.2') testCompile('com.amazonaws:DynamoDBLocal:1.10.5.1')
import ステートメントはまだ失敗します。失敗した例を次に示します。
import com.amazonaws.services.dynamodbv2.local.embedded.DynamoDBEmbedded;
TL;DR
DynamoDB のローカル JAR を Gradle プロジェクトの一部として実行したり、適切なチュートリアルへのリンクを取得したりした人はいますか (リンク先のチュートリアルである必要はありません)。