daniel @ daniel-laptop:〜/ ps / clojure / projects / ring-tutorial $echo $CLASSPATH
/家庭/丹尼尔/ PS / Clojure的/项目/环教程/ src目录
在这里,我检查java认为它是什么.
daniel @ daniel-laptop:〜/ ps / clojure / projects / ring-tutorial $lein repl
Clojure 1.1.0
用户=> (System / getProperty“java.class.path”)
“SRC /:类/:/首页/丹尼尔/ .m2目录/库/ leiningen / leiningen / 1.1.0 / leiningen-1.1.0-standalone.jar:LIB / Clojure的-1.1.0.jar:LIB / servlet的API -2.5-6.1.14.jar:LIB /公地-IO-1.4.jar:LIB / CLJ-堆栈跟踪-0.1.0.jar:LIB / Clojure的-的contrib-1.1.0.jar:LIB /环devel的-0.2 .0.jar:LIB /码头-util的-6.1.14.jar:LIB / CLJ-HTML-0.1.0.jar:LIB /环码头适配器-0.2.0.jar:LIB /码头-6.1.14的.jar:LIB /环形芯-0.2.0.jar:LIB /公地文件上传-1.2.1.jar:LIB /环servlet的0.2.0.jar:LIB /公地编解码器-1.4.jar:”
如您所见,这两种反应完全不同.我很确定我必须误解我应该在哪里编辑CLASSPATH变量以使java“得到它”,除了我发现的所有内容都说这应该有效.那是什么交易?莱宁根是否会产生自己奇怪的叛徒叛变事件?我在编辑一个完全不相关的变量吗?任何帮助非常感谢.
解决方法
在这种特殊情况下,“/ home /…/ ring-tutorial / src”对于Ring教程来说不是一个非常有用的类路径,因为它只包含Ring教程的源代码而不包含Clojure jar(这是必要的)对于运行Clojure代码而言,Ring jars(Ring是一个多模块项目)或Ring依赖的任何其他jar. Leiningen生成的类路径可能看起来很长,但它的所有组件都需要存在.
顺便说一句,如果你刚刚开始使用Clojure,我建议你坚持使用你的工具链的类路径管理工具(这可能意味着Emacs lein swank或者某些IDE是Clojure插件),如果可能的话.否则,关于SO的Clojure类路径问题有很多问题,还有关于你可以google的主题的大量其他资源……但是现在该工具支持相当强大,你通常不需要通过一方面,这只是在开始时最好避免的痛苦.