Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Clojure应用程序转换到最新Clojure时出现问题_Clojure_Leiningen - Fatal编程技术网

从Clojure应用程序转换到最新Clojure时出现问题

从Clojure应用程序转换到最新Clojure时出现问题,clojure,leiningen,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,并试图升级一个

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

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])
<(defproject addr验证“1.0.0-SNAPSHOT”
>(defproject addr验证“1.0.1-快照”
<:依赖项[[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”]]
<:主地址(验证核心)
>:依赖项[[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”]]
>:省略源true
>:main addr-verify.core
>:aot[addr verify.core])

如果您还没有,请运行
lein clean


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

ILookupHost在Clojure 1.3.0中被删除,因此您可能有一个旧的编译工件或编译依赖项

Clojure的最新版本是1.6.0-为什么不升级到那里呢

我不确定有什么区别,但我通常使用org.clojure/data.csv作为我的csv库。也许值得研究一下


如果需要查找旧contrib的帮助,请参阅:

更改版本后是否运行了
lein clean
?有时编译的工件会被创建和重用,当您进行版本更改时,这可能会导致问题。请使用此注释答案作为真实答案。我现在有一个新的编译问题,这是一个好迹象。谢谢。这就是stackoverflow成为无价资源的原因。只要有人不举手示意,大家都愿意帮忙。