IDEA中Leiningen项目Clojure REPL引用依赖报FileNotFoundException
问题根因
你项目中导入的是社区维护的clojure.jdbc依赖包,该包对应的命名空间为clojure.jdbc,与官方contrib库clojure.java.jdbc的命名空间不一致,因此调用require '[clojure.java.jdbc :as jdbc]时会报类路径找不到文件的错误。
解决方案
有两种可选方案:
方案1:继续使用当前已导入的依赖
直接将require语句修改为:(require '[clojure.jdbc :as jdbc])该库API与
clojure.java.jdbc基本兼容,常用操作无需额外修改代码。方案2:切换为官方
clojure.java.jdbc库- 修改
project.clj中的依赖配置,将原有[clojure.jdbc "0.4.0"]替换为官方依赖坐标:
[org.clojure/java.jdbc "0.7.12"]- 在IDEA中刷新Leiningen依赖,等待同步完成
- 重启REPL后执行原有require语句即可正常加载
- 修改
异常排查
如果修改配置后仍然报错,可以按以下步骤清理缓存重试:
- 在项目根目录执行
lein clean命令删除编译缓存 - 关闭IDEA后删除项目根目录下的
.idea文件夹,重新导入项目 - 重启REPL确认IDEA重新构建完整类路径
内容的提问来源于stack exchange,提问作者JosephJohnston
相关产品推荐
相关产品推荐

