为什么我在amazon-kinesis-client中的JSONObject上获得NoClassDefFoundError?

Adi*_*vin 4 java amazon-web-services amazon-dynamodb amazon-kinesis amazon-dynamodb-streams

我已将来自aws-dynamodb-examples的DynamoDB流适配器演示的代码合并到我的Maven项目中,并且我遇到了运行时错误:

Exception in thread "Thread-2" java.lang.NoClassDefFoundError: com/amazonaws/util/json/JSONObject
at com.amazonaws.services.kinesis.leases.impl.Lease.toString(Lease.java:229)
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样,以及我可以做些什么来修复它?

我的pom文件是这样的:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.aligntech</groupId>
  <artifactId>dynamodbstream</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>dynamodbstream</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

      <dependency>
          <groupId>com.amazonaws</groupId>
          <artifactId>aws-java-sdk</artifactId>
          <version>LATEST</version>
      </dependency>

    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>dynamodb-streams-kinesis-adapter</artifactId>
      <version>LATEST</version>
    </dependency>


  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

Adi*_*vin 9

如果我更改aws-java-sdkto 的版本,问题就解决了1.10.77.似乎1.11.0版本中的kinesis库正在尝试使用已从中删除的JSONObject com.amazonaws.util.json.