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"]]}})
有什么想法吗?
莱宁根 produces two .jar
files when you run lein uberjar
。文件名以 ...-standalone.jar
结尾的是实际的 uberjar,其中包含 Clojure(核心)。独立文件可以是 运行 只需 java -jar my_uberjar.jar
。如果你 运行 另一个(非 uber jar),那么 Clojure 需要在类路径中可用。
您可以使用 jar tf my_uberjar.jar
查看每个 jar 文件中包含哪些依赖项。 uberjar 应包含 clojure/core/...
、clojure/lang/...
等
不确定为什么当我 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"]]}})
有什么想法吗?
莱宁根 produces two .jar
files when you run lein uberjar
。文件名以 ...-standalone.jar
结尾的是实际的 uberjar,其中包含 Clojure(核心)。独立文件可以是 运行 只需 java -jar my_uberjar.jar
。如果你 运行 另一个(非 uber jar),那么 Clojure 需要在类路径中可用。
您可以使用 jar tf my_uberjar.jar
查看每个 jar 文件中包含哪些依赖项。 uberjar 应包含 clojure/core/...
、clojure/lang/...
等