5

我有一个 Leiningen project.clj文件,如下所示:

(defproject insane-noises "1.0.0-SNAPSHOT"                                      
  :description "FIXME: write description"                                       
  :dependencies [[org.clojure/clojure "1.3.0"]                                  
                 [overtone "0.6.0"]]                                            
  :source-paths ["/Volumes/ramdisk"]                                            
  :java-source-paths ["/Volumes/ramdisk"]                                       
  :native-path "/Volumes/ramdisk")

现在,当我跑步时

$ lein repl
user=> (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader)))

路径/Volumes/ramdisk不会出现在我的路径中的任何位置。这是怎么回事?

为 Leiningen 设置类路径的正确方法是什么?(它似乎也忽略了在我的环境中定义的 CLASSPATH 变量。)

编辑:回复评论

user=> (seq (.. Thread currentThread getContextClassLoader getURLs))
nil

编辑:问题已解决。我正在使用

$ lein version
Leiningen 1.7.1 on Java 1.6.0_29 Java HotSpot(TM) 64-Bit Server VM

但是,我显然使用的是 Lein 2.0 的符号

4

1 回答 1

4

您使用的是哪个版本的 Leiningen?新的 2 版本中有一些重大变化,其中之一是:source-path "src/"成为:source-paths ["src/"]. 一个可能的解释是您正试图将此 lein2 project.clj 文件与 lein1 一起使用。

由于我们目前处于过渡期,因此您必须特别注意自己使用的 lein 版本,以及如果遵循教程,则教程采用哪个版本。

您可以在此处阅读有关版本之间差异的更多信息:https ://github.com/technomancy/leiningen/blob/master/NEWS.md

于 2012-04-14T15:52:45.030 回答