CLASSPATH 将“/Users/smcho/Desktop/clojure”作为其路径之一,该目录包含文件 hello.clj。
运行 clojure,运行 (require 'hello) 给出这个错误信息。
java.io.FileNotFoundException: Could not locate hello__init.class or hello.clj on classpath: (NO_SOURCE_FILE:0)
当我将目录更改为“/Users/.../clojure”,并运行相同的目录(需要“hello”)时,没有问题。这 。在 CLASSPATH 上。
运行
java -cp /Users/smcho/bin/jar/clojure.jar:/Users/smcho/Desktop/clojure clojure.lang.Repl
也有效。
为什么 clojure 在 CLASSPATH 上找不到源码?
最佳答案
正如 Alex 提到的,如果您使用 -cp 参数启动 java,则不会引用 CLASSPATH 环境。所以,而不是
java -cp /Users/smcho/bin/jar/clojure.jar clojure.lang.Repl
使用
java -cp /Users/smcho/bin/jar/clojure.jar:$CLASSPATH clojure.lang.Repl
您可以从 Clojure repl 中检查您的 java 类路径:
(doseq [p (.getURLs (java.lang.ClassLoader/getSystemClassLoader))] (println (.getPath p)))
关于java - (需要)函数的 clojure 类路径问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3376840/