题
我下载了Clojure 1.2 https://github.com/downloads/clojure/clojure/clojure-1.2.0.zip ,将其提取在 /图书馆目录下,创建了Clojure_home,将$ Clojure_home /脚本添加到我的$路径中。
当我尝试运行脚本目录下的CLJ或REPT脚本时,我会遇到此错误:
线程“主” java.lang.noclassdeffounderror中的异常:jline/ consolerunner引起的: java.net.urlclassloader.findclass(urlclasslos.java:190)的doprivileged(本机方法),java.lang.lang.class.classloader.loadclass(classloader.java:307)at sun.misc.misc.misc.launcher $ appclassloader.java: 301)at Java.lang.classloader.loadclass(classLoader.java:248)
好的,jline.jar不在classpath中,所以我检查了clj和repp脚本:
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/脚本下下载了jline.jar,但我仍然遇到同样的错误。
这引发了我的问题:
角色是什么 https://github.com/downloads/clojure/clojure/clojure-1.2.0.zip 反正?
它应该用于安装Clojure吗?还是只是为了构建和获得clojure.jar?
我注意到没有人在谈论这种方式安装Clojure。
我想念什么吗?
解决方案
Clojure是一种JVM语言,必须处理JVM Class Path。这使得“安装”有点笨拙和令人困惑。与其像这样安装自己,不如尝试一些工具,例如Cljr和Cake。我写了一篇博客文章,可能会有所帮助: http://blog.raynes.me/?p=48
Clojure社区中的大多数人都没有“安装”。大多数人使用构建工具和/或CLJR。当您不可避免地需要依赖性管理时,将Clojure安装到中心位置并没有多大意义,无论如何,罐子都会在任何地方复制。无论如何,让工具为您处理类路径要容易得多。
其他提示
存在clojure.zip文件,因此编写工具的人将有一个工具以获取所需零件的位置;)
对于不编写工具的人,他们要么在GitHub上使用/与最新分支一起工作,因此他们使用git lutaul clojure,或者使用上述liningen,cake,cljr,clockrockwise(eclipse)(eclipse),la clojure(intellijij),la clojure(Intellij),或Netbeans。