【问题标题】:Datomic: java.lang.NoClassDefFoundError when trying to connect to an ddb transactor deployed to awsDatomic:尝试连接到部署到 aws 的 ddb 事务器时出现 java.lang.NoClassDefFoundError
【发布时间】:2017-05-13 14:59:55
【问题描述】:

我已在 AWS 云结构中部署了一个 datomic Transactor,连接到 DyanmoDB 作为存储。如果我转到本地 datomic 目录(版本 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: 无法初始化 类 datomic.ddb_cluster__init, 编译:(form-init1336530578825920965.clj:1:11)

顺便说一句,如果我尝试连接到我常用的 datomic dev 事务器,它工作得很好。有谁知道我在这里可能做错了什么?该错误似乎表明该类甚至不存在...

【问题讨论】:

    标签: amazon-web-services clojure datomic


    【解决方案1】:

    您需要在项目中同时包含 Datomic Peer 库和 AWS 开发工具包作为依赖项,才能连接到 DDB 支持的实例。

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

    -马歇尔

    【讨论】:

    • 谢谢@Marshall!
    猜你喜欢
    • 2018-10-07
    • 2015-07-04
    • 2020-10-04
    • 2021-04-13
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多