我下载了 Clojure 1.2 https://github.com/downloads/clojure/clojure/clojure-1.2.0.zip,将其解压缩到 /Library 目录下,创建 CLOJURE_HOME,将 $CLOJURE_HOME/script 添加到我的 $PATH 中。
当我尝试运行位于脚本目录下的 clj 或 repl 脚本时,我收到此错误:
线程“main”中的异常 java.lang.NoClassDefFoundError: jline/ ConsoleRunner 原因:java.lang.ClassNotFoundException: jline.ConsoleRunner at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController。 doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java: 301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248)
好的,jline.jar 不在 CLASSPATH 中,所以我检查了 clj 和 repl 脚本:
CLASSPATH=src/clj:test:test-classes:classes/:script/jline-0.9.94.jar:../clojure-contrib/target/clojure-contrib-1.2.0-SNAPSHOT.jar
if [ -z "$1" ]; then
exec java -server jline.ConsoleRunner clojure.main
else
SCRIPT=$(dirname $1)
export CLASSPATH=$SCRIPT/*:$SCRIPT:$CLASSPATH
exec java -Xmx3G -server clojure.main "$1" "$@"
fi
我在 $CLOJURE_HOME/script 下下载了 jline.jar,但我仍然遇到同样的错误。
这让我想到了一个问题:无论如何, https://github.com/downloads/clojure/clojure/clojure-1.2.0.zip
的作用是什么?
它应该用于安装 Clojure 吗?还是只是为了构建和获取 clojure.jar?
我注意到没有人谈论以这种方式安装 Clojure。
我错过了什么吗?