3

当我使用来自二阶依赖项的类时获取 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-classaot解决方案相关的帖子。没有什么有用的。我对 Clojure 很陌生。我不完全确定发生了什么。我可以解决这个问题吗?我究竟做错了什么?

4

0 回答 0