Clojure 1.9 windows安装
在过去,我使用clojure.org提供的
Windows安装程序在我的各种Windows机器上安装clojure. Clojure 1.9已经出现了几个星期,但据我所知,仍然没有Windows安装程序或基于
Java的通用安装的迹象.
我试过从clojure.org下载jar并运行 java -jar clojure.1.9.0.jar 但那只是转储堆栈: Exception in thread "main" java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at clojure.lang.RT.classForName(RT.java:2204) at clojure.lang.RT.classForName(RT.java:2213) at clojure.lang.RT.loadClassForName(RT.java:2232) at clojure.lang.RT.load(RT.java:450) at clojure.lang.RT.load(RT.java:426) at clojure.core$load$fn__6548.invoke(core.clj:6046) at clojure.core$load.invokeStatic(core.clj:6045) at clojure.core$load.doInvoke(core.clj:6029) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invokeStatic(core.clj:5848) at clojure.core$load_one.invoke(core.clj:5843) at clojure.core$load_lib$fn__6493.invoke(core.clj:5888) at clojure.core$load_lib.invokeStatic(core.clj:5887) at clojure.core$load_lib.doInvoke(core.clj:5868) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$load_libs.invokeStatic(core.clj:5925) at clojure.core$load_libs.doInvoke(core.clj:5909) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$require.invokeStatic(core.clj:5947) at clojure.core.server$loading__6434__auto____8456.invoke(server.clj:9) at clojure.core.server__init.load(Unknown Source) at clojure.core.server__init.<clinit>(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at clojure.lang.RT.classForName(RT.java:2204) at clojure.lang.RT.classForName(RT.java:2213) at clojure.lang.RT.loadClassForName(RT.java:2232) at clojure.lang.RT.load(RT.java:450) at clojure.lang.RT.load(RT.java:426) at clojure.core$load$fn__6548.invoke(core.clj:6046) at clojure.core$load.invokeStatic(core.clj:6045) at clojure.core$load.doInvoke(core.clj:6029) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invokeStatic(core.clj:5848) at clojure.core$load_one.invoke(core.clj:5843) at clojure.core$load_lib$fn__6493.invoke(core.clj:5888) at clojure.core$load_lib.invokeStatic(core.clj:5887) at clojure.core$load_lib.doInvoke(core.clj:5868) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$load_libs.invokeStatic(core.clj:5925) at clojure.core$load_libs.doInvoke(core.clj:5909) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$require.invokeStatic(core.clj:5947) at clojure.core$require.doInvoke(core.clj:5947) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.lang.Var.invoke(Var.java:381) at clojure.lang.RT.doInit(RT.java:487) at clojure.lang.RT.<clinit>(RT.java:336) at clojure.main.<clinit>(main.java:20) Caused by: java.io.FileNotFoundException: Could not locate clojure/spec/alpha__init.class or clojure/spec/alpha.clj on classpath. at clojure.lang.RT.load(RT.java:463) at clojure.lang.RT.load(RT.java:426) at clojure.core$load$fn__6548.invoke(core.clj:6046) at clojure.core$load.invokeStatic(core.clj:6045) at clojure.core$load.doInvoke(core.clj:6029) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invokeStatic(core.clj:5848) at clojure.core$load_one.invoke(core.clj:5843) at clojure.core$load_lib$fn__6493.invoke(core.clj:5888) at clojure.core$load_lib.invokeStatic(core.clj:5887) at clojure.core$load_lib.doInvoke(core.clj:5868) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$load_libs.invokeStatic(core.clj:5925) at clojure.core$load_libs.doInvoke(core.clj:5909) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$require.invokeStatic(core.clj:5947) at clojure.main$loading__6434__auto____8543.invoke(main.clj:11) at clojure.main__init.load(Unknown Source) at clojure.main__init.<clinit>(Unknown Source) ... 55 more 因为我没有文件clojure / spec / alpha__init.class或clojure / spec / alpha.clj,看来我现在运气不好. 那么 – 从拥有1.9.0罐子到让它全部在Windows上运行,是否有一步一步走? 欢迎所有建议. 解决方法
TL; DR:
您还必须下载org.clojure/spec.alpha和org.clojure/core.specs.alpha.然后从以下开始: java -cp clojure-1.9.0-alpha17.jar;spec.alpha-0.1.123.jar;core.specs.alpha-0.1.10.jar clojure.main (注意,你的版本会有所不同;并且会有:instad of;对于unix系列的OS). 如何找到并获取其他deps 随着Clojure最近的更改在alpha子命名空间中使用Spec的专用工件,仅使用常规jar(例如java -jar $CLOJURE_JAR clojure.main)启动简单的REPL就不再容易了.那么如何开始呢? 在你最好在某个地方做一个lein new之前,将org.clojure / clojure依赖项更改为你喜欢的版本并做一个lein deps:tree来获取所需的所有内容并显示org.clojure / core现在的内容依赖于取决于.例如. [org.clojure/clojure "1.9.0-alpha17"] [org.clojure/core.specs.alpha "0.1.10" :exclusions [[org.clojure/clojure] [org.clojure/spec.alpha]]] [org.clojure/spec.alpha "0.1.123" :exclusions [[org.clojure/clojure]]] 所有工件最终都在?/ .m2 / repository中.接下来你必须建立你的类路径来调用REPL.您现在可以在该虚拟项目中运行lein with-profile uberjar cp以获取Leiningen正在使用的类路径.例如.: $lein with-profile uberjar cp /tmp/xxx/test:/tmp/xxx/src:/tmp/xxx/resources:/tmp/xxx/target/classes:/home/user/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar:/home/user/.m2/repository/org/clojure/spec.alpha/0.1.143/spec.alpha-0.1.143.jar:/home/user/.m2/repository/org/clojure/core.specs.alpha/0.1.24/core.specs.alpha-0.1.24.jar # this will be `;` instead of `:` as well here for windows 删除测试,src和资源,即必须传递给-cp的内容. 未来解决方案 如Getting Started所述,clojure CLI尚不适用于Windows. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-xp – GPO禁用Windows XP巡视弹出窗口
- 如何在Windows上启动具有某些启动参数的服务
- windows-phone-7 – 具有相同GUID的Windows手机应用程序 –
- 终端服务 – 如何阻止Windows应用程序窃取焦点
- windows-runtime – 在WinRT中创建只读依赖项属性的最佳方法
- 通过Windows GPO管理Acrobat Reader和Flash播放器等应用程序
- 是否有scintilla(scilexer.dll)的版本包含HTML的“样式”(C
- Win10不能远程其他远程计算机的解决办法
- 使用Windows DHCP / DHCPv6服务器而不设置静态地址
- windows-explorer – 如何阻止explorer.exe保持文件打开状态