5

私は次のようなLeiningenproject.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

しかし、私はどうやらLein2.0の表記法を使用していたようです

4

1 に答える 1

4

ライニンゲンのどのバージョンを使用していますか? 新しい 2 バージョンには破壊的な変更がいくつかあり、そのうちの 1 つ: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 に答える