java - (需要)函数的 clojure 类路径问题?

标签 java clojure classpath

CLASSPATH 将“/Users/smcho/Desktop/clojure”作为其路径之一,该目录包含文件 hello.clj。

运行 clojure,运行 (require 'hello) 给出这个错误信息。

java.io.FileNotFoundException: Could not locate hello__init.class or hello.clj on classpath:  (NO_SOURCE_FILE:0)

当我将目录更改为“/Users/.../clojure”,并运行相同的目录(需要“he​​llo”)时,没有问题。这 。在 CLASSPATH 上。

运行

java -cp /Users/smcho/bin/jar/clojure.jar:/Users/smcho/Desktop/clojure clojure.lang.Repl

也有效。

为什么 clojure 在 CLASSPATH 上找不到源码?

最佳答案

正如 Alex 提到的,如果您使用 -cp 参数启动 java,则不会引用 CLASSPATH 环境。所以,而不是

java -cp /Users/smcho/bin/jar/clojure.jar clojure.lang.Repl

使用

java -cp /Users/smcho/bin/jar/clojure.jar:$CLASSPATH clojure.lang.Repl

您可以从 Clojure repl 中检查您的 java 类路径:

(doseq [p (.getURLs (java.lang.ClassLoader/getSystemClassLoader))] (println (.getPath p)))

关于java - (需要)函数的 clojure 类路径问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3376840/

相关文章:

java - 为什么我的 JList 更新后就消失了?

clojure - 关闭 Light Table 中的自动完成功能

string - 如何在 Clojure 中将字符串转换为 boolean 值

java - ClassPathResource 没有得到类路径

java - 使用 safetynet 证明 API 时,android 中出现 ApiException,状态代码为 7

java - 如何在spring-jpa中保存基于实体的父表到子表的数据

java - Spring Boot 中的 Kafka 配置类找不到 keystore 或信任库

android类路径异常

java - 通常在大型 J2EE web 应用程序上,按模块清楚地分离应用程序。可能使用业务委托(delegate)模式

variables - 定义相互依赖的变量