上个月,我向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这样的东西。
答案 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,如果没有这些,你真的不会走得太远。