请分享您的想法,参加2024年Clojure状态调查!

欢迎!请参阅关于页面了解有关如何操作的更多信息。

0
REPL

我想检查我在项目中通过REPL加载的一些依赖项的版本。这能做到吗?如果是这样,我应该怎么做?

我正在工作的项目是通过一个相当复杂的脚本启动的,这使得了解某些依赖的最终版本有一定难度。我想到一旦我有REPL,我就有了真相。

这是一个工具.deps项目

2 个答案

+1

被选中
 
最佳答案

你可以使用下面的命令来检查运行时类路径:

(System/getProperty "java.class.path")
+1

对于给定的命名空间,您可以获得它将(或已)从其中加载数据资源的完整路径。

user=> (clojure.java.io/resource "clojure/core.clj")
#object[java.net.URL 0x59221b97 "jar:file:/home/justin/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/core.clj"]

这包括在jar文件名中的包的版本(或者会揭示代码将被加载的文件路径)。

我还使用Alex在另一个答案中分享的方法,但有时这种方法可以揭示其他情况下不会明显的事情,例如,一个不小心/意外捆绑到库中的.clj或.class文件。
...