【问题标题】:Is Clojure installable this way?Clojure 可以这样安装吗?
【发布时间】:2010-12-09 03:30:03
【问题描述】:

我下载了 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 在 java.net.URLClassLoader$1.run(URLClassLoader.java:202) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 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。
我错过了什么吗?

【问题讨论】:

标签: clojure jvm-languages


【解决方案1】:

Clojure 作为一种 JVM 语言,必须处理 JVM 类路径。这使得“安装”它有点笨拙和混乱。与其像这样自己安装,不如试试 cljr 和 cake 之类的工具。我写了一篇关于此的博文,可能会有所帮助:http://blog.raynes.me/?p=48

总结:查看cljrcakeleiningen

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

【讨论】:

  • 没错,Clojure 开发人员过去常常使用构建工具或 IDE 集成。
  • 嗯?他们仍然使用构建工具和 IDE/文本编辑器集成。这就是我回答的重点。 :>
【解决方案2】:

clojure.zip 文件存在,因此编写工具的人将有一个地方存放他们的工具以获取他们需要的部分;)

对于不编写工具的人,他们要么使用 github 的最新分支工作,要么使用 git pull 获得 Clojure,或者使用上面提到的 liningen、cake、cljr、逆时针(eclipse)、la clojure( intellij) 或 netbeans。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2022-01-03
    • 2012-02-19
    • 2017-11-30
    相关资源
    最近更新 更多