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

欢迎!请参阅关于页面以了解更多关于如何使用本网站的信息。

0
... REPL

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

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

这是一个tools.deps项目

2 个回答

+1
...
被选中
 
最佳答案

您可以使用以下方式检查运行时类路径

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

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

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文件名中包含的包版本(否则揭示代码将从中加载的文件路径)。

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