You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Clojure中查看classpath及显示classpath的所有目录?

在Clojure中查看Classpath及目录的方法

日常开发里经常需要查看Clojure项目的classpath,我整理了几个实用的方法,不管用命令行还是在REPL里都能轻松搞定:

1. 用Clojure CLI命令快速查看

这是最直接的方式,不用进入REPL就能拿到结果:

  • 查看完整classpath(包含所有依赖JAR和本地目录):

    clj -Spath
    

    执行后会输出用路径分隔符(Unix类系统是:,Windows是;)分隔的完整路径字符串。

  • 只显示classpath中的目录(过滤掉JAR文件):
    根据你的操作系统调整命令:

    • Unix/macOS/Linux:
      clj -Spath | tr ':' '\n' | grep -v '\.jar$'
      
    • Windows PowerShell:
      (clj -Spath) -split ';' | Where-Object { $_ -notmatch '\.jar$' }
      

2. 在Clojure REPL中交互式查看

如果已经在REPL里开发,直接用以下代码就能查看:

  • 获取完整classpath字符串:
    (System/getProperty "java.class.path")
    
  • 把classpath拆分成单独的路径列表:
    (clojure.string/split (System/getProperty "java.class.path")
                          (re-pattern (System/getProperty "path.separator")))
    
  • 只筛选出classpath中的目录:
    (filter #(not (.endsWith % ".jar"))
            (clojure.string/split (System/getProperty "java.class.path")
                                  (re-pattern (System/getProperty "path.separator"))))
    

3. 用tools.deps API获取(进阶)

如果你需要在代码中动态计算classpath,可以借助Clojure CLI内置的tools.deps.alpha库:

(require '[clojure.tools.deps.alpha :as deps])
(deps/calculate-classpath (deps/default-deps))

这个方法会返回和clj -Spath一致的结果,适合在脚本或工具中使用。


内容的提问来源于stack exchange,提问作者Sharas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 06:02:50