let*_*oot 6 java emacs clojure classpath read-eval-print-loop
我在我的CLASSPATH环境变量中放置了clojure-1.4.0.jar路径(C:\ clojure-1.4.0\clojure-1.4.0.jar).现在,当我尝试使用以下代码从命令行启动REPL时:
java -cp clojure-1.4.0.jar clojure.main
我收到一个错误:
Error: Could not find or load main class clojure.main
Run Code Online (Sandbox Code Playgroud)
它曾经在我设置emacs之前工作.有任何想法吗.
您可以将clojure jar文件添加到CLASSPATH环境变量:
/some/where % CLASSPATH=/tmp/clojure-1.4.0.jar java clojure.main
Run Code Online (Sandbox Code Playgroud)
或直接在java参数中指定:
/some/where % java -cp /tmp/clojure-1.4.0.jar clojure.main
Run Code Online (Sandbox Code Playgroud)
设置CLASSPATH变量并同时-cp为java命令提供参数是没有意义的,因为-cp参数CLASSPATH完全覆盖.这是导致问题的原因:您似乎java不是从所在的目录调用命令clojure-1.4.0.jar,因此-cp clojure-1.4.0.jarswitch使java程序尝试clojure-1.4.0.jar在当前目录中找到并忽略CLASSPATH.由于clojure-1.4.0.jar当前目录中没有,该命令失败.