私の目標は、compojureを使ってWebアプリケーションを作成し、datomicをデータベースとして接続することです。個別に、これらの2つのコンポーネントは正常に動作します。しかし、私は lein ring server-headless
(依存関係としてdatomicを含む)でサーバーを起動しようとすると致命的なエラーが発生します。エラー出力のヘッド:最初lein new compojure foo
で生成project.clj
データの依存関係を含むときにlein ring server-headlessが失敗する
(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"]]}})
を使用して
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)
。依存関係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]]
を行うことによって、いくつかの依存関係を除く試みたが、それだけですべてのヘルプは大幅にappriciatedされるだろう
clojure.lang.Compiler$CompilerException: java.lang.ClassNotFoundException: org.eclipse.jetty.client.HttpClient, compiling:(cognitect/http_client.clj:1:1)
になります。
PS。私はクロージャーの初心者です。これらのエラーメッセージは理解できません。
'com.datomic/CLJ-クライアントでどの桟橋のバージョン「0.8.606」'動作するようになっと? –
'lein deps:tree'を使って私に与えます [org.eclipse.jetty/jetty-client" 9.3.7.v20160115] [org.eclipse.jetty/jetty-io "9.3.7.v20160115"] [org.eclipse .jetty/jetty-http "9.3.7.v20160115"] [org.eclipse.jetty/jetty-util "9.3.7.v20160115"] – lsund
AggregateLifeCycleクラスファイルは、ローカル.m2のmavenのjarファイルにありますか –