当我使用来自二阶依赖项的类时获取 ClassNotFoundException。当我运行 lein uberjar 或安装时失败
java.lang.ClassNotFoundException: incanter.core.Dataset, compiling:(myproject/routes/evaluate.clj:1:1).
但是,它会被编译。
Exception in thread "main" java.lang.ClassNotFoundException: incanter.core.Dataset, compiling:(myproject/routes/evaluate.clj:1:1)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6730)
at clojure.lang.Compiler.analyze(Compiler.java:6524)
at clojure.lang.Compiler.analyze(Compiler.java:6485)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5861)
at clojure.lang.Compiler$TryExpr$Parser.parse(Compiler.java:2261)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6723)
at clojure.lang.Compiler.analyze(Compiler.java:6524)
我的 project.clj 文件(选定部分)
(defproject myproject"0.2.2-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.7.0"]
[grafter "0.7.0"]]
)
移植器:0.7.0 使用 incanter.core.Dataset。
我使用它的 clojure 文件是 myproject/routes/evaluate.clj
(ns myproject.routes.evaluate
(:gen-class
:name myproject.routes.evaluate
:prefix "service-"
:methods [^:static [executePipeline [java.lang.String java.lang.String java.lang.String] incanter.core.Dataset]]))
(defn service-executePipeline [data command pipeline]
(execute-pipeline data command pipeline))
我经历了一些gen-class
与aot
解决方案相关的帖子。没有什么有用的。我对 Clojure 很陌生。我不完全确定发生了什么。我可以解决这个问题吗?我究竟做错了什么?