inv*_*ser 6 java linux clojure classpath leiningen
在这里,我检查环境变量CLASSPATH
daniel @ daniel-laptop:〜/ ps/clojure/projects/ring-tutorial $ echo $ CLASSPATH
/ home/daniel/ps/clojure/projects/ring-tutorial/src
在这里,我检查java认为它是什么.
daniel @ daniel-laptop:〜/ ps/clojure/projects/ring-tutorial $ lein repl
Clojure 1.1.0 user =>(System/getProperty"java.class.path")
"src /:classes /:/ home/daniel /.m2/repository/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"得到它",除了我发现的所有内容都说这应该有效.那是什么交易?莱宁根是否会产生自己奇怪的叛徒叛变事件?我在编辑一个完全不相关的变量吗?任何帮助非常感谢.
$CLASSPATH这确实完全无关紧要.java如果在命令行上没有为它提供类路径信息,它就是-JVM-launcher-program所使用的; Leiningen为JVM提供了适合您正在处理的任何项目的类路径.
在这种特殊情况下,"/home/.../ring-tutorial/src"对于Ring教程来说,它不是一个非常有用的类路径,因为它只包含Ring教程的源代码,不包括Clojure jar(运行Clojure代码所必需的),Ring jars(Ring是一个多 - 模块项目)或任何其他罐子依赖.Leiningen生成的类路径可能看起来很长,但它的所有组件都需要存在.
顺便说一下,如果你刚刚开始使用Clojure,我建议你尽可能坚持你的工具链的类路径管理工具(可能意味着Emacs + lein swank或某些IDE + Clojure插件).否则,关于SO的Clojure类路径问题有很多问题,还有关于你可以google的主题的大量其他资源......但是现在该工具支持相当强大,你通常不需要通过一方面,这只是在开始时最好避免的痛苦.
| 归档时间: |
|
| 查看次数: |
1287 次 |
| 最近记录: |