我有一个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的符号
答案 0 :(得分:4)
您使用的是哪个版本的Leiningen?新版本2中有一些重大更改,其中之一是:source-path "src/"
成为:source-paths ["src/"]
。可能的解释是您正在尝试将此lein2 project.clj文件与lein1一起使用。
由于我们目前处于过渡期,您必须特别注意自己使用的lein版本,如果遵循教程,则教程假定哪个版本。
您可以在此处详细了解版本之间的差异:https://github.com/technomancy/leiningen/blob/master/NEWS.md