gpt4 book ai didi

clojure - "SSL doesn' t have a valid keystore"尝试连接到 Datomic Cloud 时出错

转载 作者:行者123 更新时间:2023-12-02 07:19:25 24 4
gpt4 key购买 nike

我正在尝试转移项目以使用新的 datomic cloud .我已经通过 AWS 仪表板创建了堆栈,甚至能够在具有所需依赖项的普通 clojure repl 中连接到它。但是我一直很难从我的项目中获得工作连接。

起初,我遇到了一堆依赖冲突——实际上这可能仍然是这里的根本问题——所以我在我的 project.clj 中添加了一些排除项来包含 datomic 项目>:

 [com.datomic/client-cloud "0.8.50"
:exclusions [org.eclipse.jetty/jetty-io
org.eclipse.jetty/jetty-util
commons-logging
commons-codec]]

然后当我尝试在 lein repl 中连接

(require '[datomic.client.api :as d])
(def cfg {:server-type :cloud
:region "us-east-2"
:system "<sysname>"
:query-group "<sysname>"
:endpoint "http://entry.<sysname>.us-east-2.datomic.net:8182/"
:proxy-port 8182})
(def client (d/client cfg))

我遇到了以下错误:

2018-05-13 20:36:01.593:WARN:oejuc.AbstractLifeCycle:nREPL-worker-1: FAILED SslContextFactory@56f447c4(null,null): java.lang.IllegalStateException: SSL doesn't have a valid keystore> java.lang.IllegalStateException: SSL doesn't have a valid keystore`

这个难倒我了。这是一个包含完整堆栈跟踪的 pastebin:https://pastebin.com/cRGyVmnT .我猜测调用错误版本的 jetty 可能存在问题,但我不确定下一步要尝试什么。想法?

最佳答案

我根据@Aleph Aleph 在上述问题的评论中的建议找到了解决方案。我所做的是向具有与 datomic/cloud-client 冲突的依赖项的包添加排除项。

我通过更仔细地观察 lein deps :tree | 来研究这个冲突grep jetty 。它特别显示了以下内容:

[ring "1.6.3" :exclusions [org.eclipse.jetty/jetty-client org.eclipse.jetty/jetty-http org.eclipse.jetty/jetty-util]] -> [ring/ring-jetty-adapter "1.6.3"] -> [org.eclipse.jetty/jetty-server "9.2.21.v20170120"] -> [org.eclipse.jetty/jetty-
io "9.2.21.v20170120"]
overrides
[com.datomic/client-cloud "0.8.50"] -> [com.datomic/client "0.8.40"] -> [com.datomic/client-impl-shared "0.8.34"] -> [com.cognitect/http-client "0.1.83"] -> [org.eclipse.jetty/jetty-client "9.3.7.v20160115"] -> [org.eclipse.jetty/jetty-io
"9.3.7.v20160115"]
and
[com.datomic/client-cloud "0.8.50"] -> [com.datomic/client-impl-shared "0.8.34"] -> [com.cognitect/http-client "0.1.83"] -> [org.eclipse.jetty/jetty-client "9.3.7.v20160115"] -> [org.eclipse.jetty/jetty-io "9.3.7.v20160115"]
and
[com.datomic/client-cloud "0.8.50"] -> [com.datomic/client "0.8.40"] -> [com.cognitect/http-client "0.1.83"] -> [org.eclipse.jetty/jetty-client "9.3.7.v20160115"] -> [org.eclipse.jetty/jetty-io "9.3.7.v20160115"]

很明显,来自 ring 的依赖项称为 ring/ring-jetty-adapter 包含一些包版本,覆盖了 datomic 云中的包版本。所以我添加了以下内容,解决了问题:

[ring "1.6.3"
:exclusions [ring/ring-jetty-adapter]]

关于clojure - "SSL doesn' t have a valid keystore"尝试连接到 Datomic Cloud 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50331264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com