2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于页面 了解此工作的更多信息。

0
错误

我正在尝试使用一个库,该库调用了 requiring-resolve(任何尝试调用都会抛出 IllegalStateException)。在尝试查找问题的时候,我发现在调用

System.out.println(Clojure.var("clojure.core/deref").invoke(Clojure.var("clojure.core/*clojure-version*")));

我得到

Unbound: #'clojure.core/*clojure-version*

是否有办法解决这个问题?

1 个答案

+1

这听起来像是 Clojure 本身没有被初始化在你的 Java 代码路径上。这也解释了你尝试使用 requiring-resolve 时抛出的 IllegalStateException,你将看到任何尝试引用时的这个错误。

由于不知道你如何构建 Java 程序的更多细节,很难说出可能的原因。

查看这个小仓库可能会帮助你: https://github.com/stuarthalloway/clojure-from-java

我能否确保 Clojure 在路径上被初始化?我正在使用 Clojure Java API,我的包是通过 maven 管理的。






  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>

...