在Windows redux上运行Clojure 1.9.0

时间:2018-01-13 04:00:40

标签: clojure

上个月,我向this question询问了如何在Windows上运行最新版本的Clojure。 @cfrick非常友好地提供了一些指导,但是在遵循了他的建议并且对它进行了一段时间的修改后,我仍然无法让Clojure 1.9.0在Windows上运行。我知道我必须做些蠢事,但这就是我所拥有的:

我从clojure.org下载了所有1.9.0罐子并将它们放在一个目录中,以及core.specs.alpha和spec.alpha罐子:

01/12/2018  10:34 PM    <DIR>          .
01/12/2018  10:34 PM    <DIR>          ..
12/14/2017  05:55 PM         3,688,794 clojure-1.9.0.jar
12/14/2017  05:55 PM         2,816,528 clojure-1.9.0-javadoc.jar
12/14/2017  05:55 PM         1,052,237 clojure-1.9.0-slim.jar
12/14/2017  05:55 PM           606,466 clojure-1.9.0-sources.jar
01/12/2018  03:43 PM             4,236 core.specs.alpha-0.1.24.jar
01/12/2018  03:42 PM           591,287 spec.alpha-0.1.143.jar

然后我尝试了命令行@cfrick建议,用specs.alpha和core.specs.alpha罐子的最新版本号代替:

java -cp clojure-1.9.0.jar:spec.alpha-0.1.143.jar:core.specs.alpha-0.1.24.jar clojure.main

不幸的是,这会产生以下错误消息:

Error: Could not find or load main class clojure.main

这就是它所转储的所有内容,所以至少这是因为它找不到core.specs.alpha和spec.alpha而导致的错误列表的改进。 : - )

所以我挖出了jar实用程序,将clojure-1.9.0.jar的内容转储到一个文件中,发现jar中存在类clojure/main.class。我尝试重新运行上面的java命令,指定类名为clojure/main而不是clojure.main但是得到完全相同的错误,所以我想.和{{1}之间没有区别在班级名称中。

只是为了好玩(?)我尝试使用clojure-1.9.0-slim.jar运行它但得到了同样的错误。我也尝试用双引号括起指定的类路径,只是为了尝试别的东西,但得到了相同的结果。我还尝试使用它们所在的目录完全限定.jar文件的名称,适当地双引号 - 仍然是相同的错误。

我非常感谢如何让Clojure 1.9.0从命令行运行,而不使用像Leiningen或Boot这样的东西。

2 个答案:

答案 0 :(得分:2)

而不是:使用;作为类路径分隔符:

java -cp clojure-1.9.0.jar;spec.alpha-0.1.143.jar;core.specs.alpha-0.1.24.jar clojure.main

答案 1 :(得分:1)

答案是安装Boot或Lein,如果没有这些,你真的不会走得太远。