Datomic:java.lang.NoClassDefFoundError 尝试连接到部署到 aws 的 ddb 事务处理器时

Datomic: java.lang.NoClassDefFoundError when trying to connect to an ddb transactor deployed to aws

我已经将一个数据处理程序部署到 AWS 云结构,连接到 DyanmoDB 作为存储。如果我转到本地数据目录(版本 0.9.5.44)并使用 repl:

,我就可以连接到事务处理器
=> (def uri "datomic:ddb://us-east-1/datemo/test-db?aws_access_key_id={xxx}&aws_secret_key={yyy}")
=> (def conn (d/connect uri))
#object[datomic.peer.Connection 0x5e5ddfbc "{:unsent-updates-queue 0, :pending-txes 0,:next-t 1000, :basis-t 63, :index-rev 0, :db-id \"test-db-ab4b8028-e25b-4431-b2a2-c7173b4c9918\"}"]

但是,如果我在我的项目的 repl 中做同样的事情,它就不起作用,而是我得到以下错误:

CompilerException java.lang.NoClassDefFoundError: Could not initialize class datomic.ddb_cluster__init, compiling:(form-init1336530578825920965.clj:1:11)

顺便说一句,如果我尝试连接到我常用的数据开发事务处理程序,它就可以正常工作。有谁知道我在这里可能做错了什么?该错误似乎表明 class 甚至不存在...

您需要将 Datomic Peer 库和 AWS SDK 作为依赖项包含在项目中才能连接到 DDB 支持的实例。

文档的这一部分:http://docs.datomic.com/storage.html#sec-6-1 包含包含 AWS SDK 的详细信息。

-马歇尔