gpt4 book ai didi

clojure - 包含数据依赖项时,lein 环 headless 服务器失败

转载 作者:行者123 更新时间:2023-12-02 11:08:11 30 4
gpt4 key购买 nike

我的目标是使用 compojure 创建一个 Web 应用程序并附加 datomic 作为数据库。单独来看,这两个组件工作得很好。但是,当我尝试启动服务器时leinring server-headless(包括 datomic 作为依赖项),并出现巨大错误。错误输出的头部:

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/util/component/AggregateLifeCycle, compiling:(ring/adapter/jetty.clj:1:1)
at clojure.lang.Compiler.load(Compiler.java:7391)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.loadResourceScript(RT.java:363)
at clojure.lang.RT.load(RT.java:453)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)

使用project.clj

(defproject pinvest "0.1.0-SNAPSHOT"
:description "foobar"
:min-lein-version "2.0.0"
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/core.async "0.3.442"]
[org.clojure/tools.namespace "0.2.11"]
[compojure "1.5.1"]
[ring/ring-defaults "0.2.1"]
[com.datomic/clj-client "0.8.606"]]
:plugins [[lein-ring "0.9.7"]]
:ring {:handler pinvest.handler/app}
:profiles
{:dev {:dependencies [[javax.servlet/servlet-api "2.5"]
[ring/ring-mock "0.3.0"]]}})

最初使用lein new compojure foo生成。依赖项 com.datomic/clj-client 导致启动服务器时出现问题。

我尝试通过使用 project.clj 来排除一些依赖项

[com.datomic/clj-client "0.8.606"
:exclusions [org.eclipse.jetty/jetty-http
org.eclipse.jetty/jetty-util
org.eclipse.jetty/jetty-client]]

但这只会导致

clojure.lang.Compiler$CompilerException: java.lang.ClassNotFoundException: org.eclipse.jetty.client.HttpClient, compiling:(cognitect/http_client.clj:1:1)

任何帮助将不胜感激。

PS。我是 clojure 的新手,这些错误消息简直无法理解

最佳答案

尽量不要使用jetty。 Slack 小组中的某个人提出了非常相似的问题,现在使用这个组合(http-kit 代替 jetty):

[com.datomic/datomic-free“0.9.5544”][ring/ring-core“1.5.0”][http-kit“2.2.0”]

关于clojure - 包含数据依赖项时,lein 环 headless 服务器失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43291069/

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