当我使用来自二阶依赖关系的类时获取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"]]
)
incanter.core.Dataset由grafter使用:0.7.0。
我使用它的clojure文件是 的myproject /路由/ 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很安静。我不完全确定发生了什么。
我可以解决这个问题吗?我做错了什么?