我下载了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

总结:结帐 cljr, 蛋糕, , 和 莱宁根.

Clojure社区中的大多数人都没有“安装”。大多数人使用构建工具和/或CLJR。当您不可避免地需要依赖性管理时,将Clojure安装到中心位置并没有多大意义,无论如何,罐子都会在任何地方复制。无论如何,让工具为您处理类路径要容易得多。

其他提示

存在clojure.zip文件,因此编写工具的人将有一个工具以获取所需零件的位置;)

对于不编写工具的人,他们要么在GitHub上使用/与最新分支一起工作,因此他们使用git lutaul clojure,或者使用上述liningen,cake,cljr,clockrockwise(eclipse)(eclipse),la clojure(intellijij),la clojure(Intellij),或Netbeans。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top