如何在Windows上安装clojure-contrib?

时间:2010-06-04 18:19:05

标签: clojure clojure-contrib

我似乎无法找到一种方法来启动包含contrib库的Clojure REPL。如果我正确理解了文档,那么这个命令应该这样做:

C:\clojure-1.1.0>"%ProgramFiles%\Java\jre6\bin\java.exe" -cp clojure.jar:clojure
-contrib.jar clojure.main
Exception in thread "main" java.lang.NoClassDefFoundError: clojure/main
Caused by: java.lang.ClassNotFoundException: clojure.main
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: clojure.main.  Program will exit.

但正如你所看到的,它失败了。我确实将clojure-contrib.jar复制到C:\clojure-1.1.0文件夹。

有人可以帮我把它弄好吗?

更新
感谢Michał的帖子,我注意到我的错误是使用冒号,我不得不使用分号。这有效:

C:\clojure-1.1.0>"%ProgramFiles%\Java\jre6\bin\java.exe" -cp clojure.jar;clojure-contrib.jar clojure.main
Clojure 1.1.0
user=> 

1 个答案:

答案 0 :(得分:7)

(更新答案以使实际解决方案显而易见,而在原始版本中有些隐藏......)

Windows上的类路径字符串使用;作为分隔符。 E.g。

java.exe -cp "C:\clojure-1.1.0\clojure.jar;C:\clojure-1.1.0\clojure-contrib.jar" clojure.main

或者,您可以使用通配符在类路径中包含给定目录中的所有jar(这是JDK 1.6的添加,不适用于1.5):

java.exe -cp "C:\clojure-1.1.0\*" clojure.main

(我认为在这里使用双引号在Windows中是可以的,但是无法检查...)