clojure - 从 Clojure 应用程序转换到最新的 Clojure 时遇到问题

标签 clojure leiningen

我不明白为什么升级后会出现以下编译错误:

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,如果你还没有。

有时会创建和重用已编译的工件,这可能会在您更改库版本时导致问题。 lein clean 清除这些工件。

关于clojure - 从 Clojure 应用程序转换到最新的 Clojure 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23253618/

相关文章:

clojure - 带括号的灯 table paredit环绕

maven - leiningen项目中使用maven的 "LATEST"关键字

clojure - 确定 Clojure Jar 路径

clojure - 使用 ring/compojure 提供静态文件 - 来自 war

clojure - 在 repl 中获取当前 clojure 项目的版本

clojure - 拦截函数调用

emacs - 通过 Slime 重新加载多方法

clojure - 运行项目时 cider-nrepl 错误

clojure - 我应该在 Clojure 中哪里使用 defrecord?

java - 在 Windows 10 上使用 Clojure/Java 的 NginX - 未启动