我的 datomic 数据库已托管在亚马逊 AWS 服务器上。我有正确的 uri 和 我正在使用 Peer 类连接 datomic 数据库,请找到下面的代码
Peer.connect(uri)
但我在控制台上遇到以下错误
java.lang.NoSuchMethodError: com.amazonaws.transform.JsonErrorUnmarshaller: method <init>(Ljava/lang/Class;)V not found
at com.amazonaws.services.dynamodbv2.model.transform.ProvisionedThroughputExceededExceptionUnmarshaller.<init>(ProvisionedThroughputExceededExceptionUnmarshaller.java:26)
at com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.init(AmazonDynamoDBClient.java:374)
at com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.<init>(AmazonDynamoDBClient.java:306)
at datomic.ddb$client.invoke(ddb.clj:14)
我正在使用的依赖项是
<dependency>
<groupId>com.datomic</groupId>
<artifactId>datomic-pro</artifactId>
<version>0.9.5153</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>1.11.89</version>
</dependency>
我不明白为什么会出现这个问题。这是任何依赖性问题吗?
谢谢
请您参考如下方法:
Datomic 版本 0.9.5153
目前已经相当旧了(于 2015 年初发布),并且使用了 AWS SDK 版本 1.8.11
,因此我怀疑您遇到了依赖项版本不匹配的情况。
自该版本以来,Datomic 进行了多项重要更新,因此我鼓励您尽可能迁移到最新版本 (0.9.5561.62
)。
-编码(marshal)