gpt4 book ai didi

java - 环境变量 CLASSPATH <> Clojure 的 CLASSPATH。为什么?

转载 作者:IT王子 更新时间:2023-10-29 00:45:02 24 4
gpt4 key购买 nike

这里我查看环境变量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
克洛贾尔 1.1.0user=> (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/commons-io-1.4.jar:lib/clj-stacktrace-0.1.0.jar:lib/clojure-contrib-1.1.0.jar:lib/ring-devel-0.2 .0.jar:lib/jetty-util-6.1.14.jar:lib/clj-html-0.1.0.jar:lib/ring-jetty-adapter-0.2.0.jar:lib/jetty-6.1.14 .jar:lib/ring-core-0.2.0.jar:lib/commons-fileupload-1.2.1.jar:lib/ring-servlet-0.2.0.jar:lib/commons-codec-1.4.jar:"

如您所见,这两个响应完全不同。我很确定我一定只是误解了我应该在哪里编辑 java 的 CLASSPATH 变量以“获取它”,除了我发现的所有内容都表明这应该有效。那有什么关系呢? leiningen 是否产生了它自己的奇怪的 clojure 叛徒实例?我在编辑一个完全不相关的变量吗?非常感谢任何帮助。

最佳答案

$CLASSPATH 在这里确实完全不相关。如果命令行上没有提供类路径信息,java-the-JVM-launcher-programme 将使用它; Leiningen 为 JVM 提供了适合您正在处理的任何项目的类路径。

在这种特殊情况下,"/home/.../ring-tutorial/src" 对 Ring 教程来说不是一个非常有用的类路径,因为它只包含 Ring 教程的源代码和不包括 Clojure jar(运行 Clojure 代码所必需的)、Ring jar(Ring 是一个多模块项目)或 Ring 依赖的任何其他 jar。 Leiningen 生成的类路径可能看起来很长,但它的所有组件确实需要存在。

顺便说一下,如果您刚刚开始使用 Clojure,我建议您坚持使用工具链的类路径管理工具(这可能意味着 Emacs + lein swank 或某些 IDE + Clojure 插件)如果可能的话。否则,SO 上有很多关于 Clojure 类路径问题的问题,还有大量关于该主题的其他资源,您可以通过谷歌搜索...但现在该工具支持非常强大,您通常不需要 用手触摸类路径,这只是一开始最好避免的痛苦。

关于java - 环境变量 CLASSPATH <> Clojure 的 CLASSPATH。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3639747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com