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

欢迎!请查看关于页面,了解更多有关此操作的信息。

0
REPL

我想检查REPL中项目所加载的某些依赖项的版本。这可以做吗?如果可以,我应该怎么做?

我正在处理的项目是通过一个非常复杂的脚本来启动的,这使得了解某些依赖项的版本有些困难。我考虑一旦我有了REPL,真相就出来了。

这是一个tools.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 文件。
...