Leiningen构建Clojure项目提示类路径找不到对应文件报错如何解决
错误原因定位
核心原因:主入口命名空间配置不匹配
你project.clj中:main字段配置的入口命名空间为hospital-price-site.core,但实际core.clj文件里声明的命名空间是file-name.core,二者完全不一致。Leiningen加载项目时会优先查找:main指定的命名空间对应的源码或类文件,找不到就会直接抛出类路径找不到的错误。
潜在次要原因:本地依赖缓存损坏
如果修正主入口配置后仍报找不到dimovich.roll相关文件的错误,说明你本地Maven缓存里的dimovich/roll依赖包损坏,导致lein deps没有正常拉取完整的依赖文件。
修复方案
- 修改
project.clj的:main配置为实际的命名空间:
:main ^:skip-aot file-name.core
- 清理旧缓存重新拉取依赖,依次执行命令:
# 清理项目编译产物 lein clean # 删除本地损坏的依赖缓存 rm -rf ~/.m2/repository/dimovich/roll # 重新拉取所有依赖 lein deps
- 执行
lein run验证修复效果。
内容的提问来源于stack exchange,提问作者Sirgeorge
相关产品推荐
相关产品推荐

