【发布时间】:2014-04-23 19:34:16
【问题描述】:
我不知道升级后为什么会出现以下编译错误:
Compiling addr-verify.core
Exception in thread "main" java.lang.NoClassDefFoundError:
clojure/lang/ILookupHost, compiling:(core.clj:39:1)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3463)
我正在使用 leiningen 2.3.4,并且正在尝试升级应用程序以使用 Clojure 1.5.1 和一些依赖项。这与旧的 project.clj 编译得很好。但我想使用 Clojure 1.5.1。我只是对造成这种情况的原因感到困惑。
这些是两个 project.clj 版本之间的差异。
< (defproject addr-verify "1.0.0-SNAPSHOT"
> (defproject addr-verify "1.0.1-SNAPSHOT"
< :dependencies [[org.clojure/clojure "1.2.1"]
< [org.clojure/clojure-contrib "1.2.0"]
< [clojure-csv/clojure-csv "1.2.4"]
< [org.clojure/tools.cli "0.1.0"]
< [clj-http "0.1.3"]]
< :main addr-verify.core)
> :dependencies [[org.clojure/clojure "1.5.1"]
> [clojure-csv/clojure-csv "2.0.1"]
> [org.clojure/tools.cli "0.3.1"]
> [clj-http "0.9.1"]]
> :omit-source true
> :main addr-verify.core
> :aot [addr-verify.core])
【问题讨论】:
-
您在更改版本后是否运行过
lein clean?有时会创建和重用已编译的工件,这可能会在您进行版本更改时导致问题。 -
请将此评论答案作为真实答案。我现在有一个新的编译问题,这是一个好兆头。