从clojure.org网站下载clojure.jar后,是否可以使用REPL clojure?

从clojure.org网站下载clojure.jar后,是否可以使用REPL clojure?,clojure,read-eval-print-loop,Clojure,Read Eval Print Loop,我已经从clojure.org网站(下载部分,clojure.1.10.1.jar)下载了最新的clojure jar文件,并尝试按如下方式运行-始终收到异常。 是否可以仅基于该站点上分发的jar运行clojure。如果没有-应该提供什么? 我不想下载clojure工具——在某些环境中,我只能用下载的JAR运行java——仅此而已 >java-jarclojure-1.10.1.jar Exception in thread "main" java.lang.ExceptionInInitial

我已经从clojure.org网站(下载部分,clojure.1.10.1.jar)下载了最新的clojure jar文件,并尝试按如下方式运行-始终收到异常。 是否可以仅基于该站点上分发的jar运行clojure。如果没有-应该提供什么? 我不想下载clojure工具——在某些环境中,我只能用下载的JAR运行java——仅此而已

>java-jarclojure-1.10.1.jar

Exception in thread "main" java.lang.ExceptionInInitializerError
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:398)
        at clojure.lang.RT.classForName(RT.java:2211)
        at clojure.lang.RT.classForName(RT.java:2220)
        at clojure.lang.RT.loadClassForName(RT.java:2239)
        at clojure.lang.RT.load(RT.java:449)
        at clojure.lang.RT.load(RT.java:424)
        at clojure.core$load$fn__6839.invoke(core.clj:6126)
....
Caused by: java.io.FileNotFoundException: Could not locate clojure/spec/alpha__init.class, clojure/spec/alpha.clj or clojure/spec/alpha.cljc on classpath.
        at clojure.lang.RT.load(RT.java:462)
        at clojure.lang.RT.load(RT.java:424)
        at clojure.core$load$fn__6839.invoke(core.clj:6126)
        at clojure.core$load.invokeStatic(core.clj:6125)
        at clojure.core$load.doInvoke(core.clj:6109)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invokeStatic(core.clj:5908)
我也一样 java-cp clojure-1.10.1.jar clojure.main

请务必查看位于
clojure.org的
。另见

我最近没有尝试过Windows,但是如果您不想使用CLI/Deps方法,那么使用Leiningen设置一个简单的模板项目可能会更容易

从此页面安装leiningen:然后测试它:

> lein --version 
Leiningen 2.9.1 on Java 13 Java HotSpot(TM) 64-Bit Server VM
假设您已经安装了Java和Git,克隆:


更新 如果您必须将所有内容都传输到非internet环境,那么在internet connect计算机上构建示例项目可能是最简单的,然后将项目目录树和
~/.m2
directroy传输到受限环境中。
~/.m2
目录是计算机上的本地缓存,用于存储Maven构建各种项目所需的所有库jar文件。在我的电脑上,目前有超过260个条目

许多Java&Clojure库都有多个嵌套依赖项。我认为获取快照的最简单方法是在外部构建一个代表性项目,然后将
~/.m2
复制到受限环境中。

请务必查看
clojure.org
。另见

我最近没有尝试过Windows,但是如果您不想使用CLI/Deps方法,那么使用Leiningen设置一个简单的模板项目可能会更容易

从此页面安装leiningen:然后测试它:

> lein --version 
Leiningen 2.9.1 on Java 13 Java HotSpot(TM) 64-Bit Server VM
假设您已经安装了Java和Git,克隆:


更新 如果您必须将所有内容都传输到非internet环境,那么在internet connect计算机上构建示例项目可能是最简单的,然后将项目目录树和
~/.m2
directroy传输到受限环境中。
~/.m2
目录是计算机上的本地缓存,用于存储Maven构建各种项目所需的所有库jar文件。在我的电脑上,目前有超过260个条目


许多Java&Clojure库都有多个嵌套依赖项。我认为获取快照的最简单方法是在外部构建一个代表性项目,然后将
~/.m2
复制到受限环境中。

查看此页面了解最简单的方法:…我想说,我没有看到“下载”主页上的链接。你使用的是什么操作系统?我在clojure上使用Linux和Windows是部分菜单选项发布,还有链接“在clojure 1.10.1下载”我们将在上看到POM——它非常明确地告诉您,如果没有
org.clojure/spec.alpha 0.2.176
org.clojure/core.specs.alpha 0.2.44
,jar是不可能工作的。最简单的方法请参见本页:……我想说,我看不到“下载”主页上的链接。你使用的是什么操作系统?我在clojure上使用Linux和Windows是部分菜单选项发布,还有链接“在clojure 1.10.1下载”我们将在上看到POM——它非常明确地告诉您,如果没有
org.clojure/spec.alpha 0.2.176
org.clojure/core.specs.alpha 0.2.44
,jar将无法工作。感谢您的建议,但我必须准备独立环境,以便在没有标准internet访问的情况下传输到隔离系统。例如,对于scala,我只能传输scala.jar并运行它。目标操作系统中没有git访问,没有其他internet访问。顺便说一句,我使用Linux和Windows。这个答案指向的
lein
工具可以用来构建uberjar,然后您可以自己使用,而无需其他任何东西。感谢您的建议,但我必须准备独立环境,以便在没有标准internet访问的情况下转移到隔离系统。例如,对于scala,我只能传输scala.jar并运行它。目标操作系统中没有git访问,没有其他internet访问。顺便说一句,我使用Linux和Windows。这个答案指向的
lein
工具可以用来构建uberjar,然后您可以自己使用它,而不需要任何其他东西。