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

Clojure引入data.json库报ClassNotFoundException求助

解决Clojure data.json依赖安装失败的问题

你的问题根源在于deps.edn的格式错误——你把文件拆成了三个独立的Map结构,而Clojure的工具链要求整个deps.edn必须是单一的顶层Map,这直接导致data.json的依赖根本没被正确加载,从而抛出ClassNotFoundException。

正确的deps.edn写法

将你的deps.edn替换为以下内容:

{:paths ["src"]
 :deps  {org.clojure/spec.alpha {:mvn/version "0.3.218"}
         org.clojure/test.check {:mvn/version "1.1.0"}
         org.clojure/data.json {:mvn/version "2.4.0"}}}

错误原因说明

你原来的文件里,三个:deps块各自作为独立的Map存在,Clojure只会读取第一个Map的配置,后面的两个依赖块会被完全忽略,所以data.json的依赖从未被加入到项目的类路径中。

后续操作步骤

  1. 保存修改后的deps.edn
  2. 关闭当前运行的REPL或终端进程,重新执行clojure命令启动环境
  3. 在代码中引入JSON库即可正常使用:
    (require '[clojure.data.json :as json])
    

另外注意:终端里不能直接输入{:deps {org.clojure/data.json {:mvn/version "2.4.0"}}}来添加依赖,临时加载依赖的正确命令是:

clojure -Sdeps '{:deps {org.clojure/data.json {:mvn/version "2.4.0"}}}'

但更推荐通过修改deps.edn来管理长期依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 13:40:45