簡體   English   中英

lein ring uberjar - java.lang.NoClassDefFoundError:clojure / lang / Var

[英]lein ring uberjar — java.lang.NoClassDefFoundError: clojure/lang/Var

不確定為什么當我lein with-profile +live ring uberjar然后java -jar我的uberjar時,我得到了這個異常: java.lang.NoClassDefFoundError: clojure/lang/Var

project.clj

(defproject gn-preview-api "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url  "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.9.0"]]
  :main gn-preview-api.www.app
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}
             :staging {:aot :all}
             :live    {:aot :all}
             :dev     {:plugins      [[lein-ring "0.9.7"]]
                       :dependencies [[javax.servlet/servlet-api "2.5"]]}})

有任何想法嗎?

當您運行lein uberjar時, Leiningen 會生成兩個.jar文件 文件名以...-standalone.jar結尾的那個是實際的uberjar,其中包含Clojure(核心)。 可以使用java -jar my_uberjar.jar簡單地運行獨立文件。 如果你運行另一個(非超級jar),那么Clojure需要在類路徑中可用。

您可以使用jar tf my_uberjar.jar查看每個jar文件中包含的依賴jar tf my_uberjar.jar uberjar應該包含clojure/core/...clojure/lang/...等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM