Windows下配置Clojure CLASSPATH遇阻,模块导入失败求助
解决Clojure在Windows下类路径找不到同目录模块的问题
核心问题排查与修复步骤
直接通过
clj命令指定类路径,替代环境变量设置
Windows的PowerShell设置$env:CLASSPATH="."可能会被clj启动器的默认配置覆盖,直接在启动时指定类路径更可靠:clj -cp .启动REPL后再尝试加载你的
app命名空间,或者直接运行脚本:clj -cp . app.clj确认
menu.clj的命名空间声明
你提到已在db.clj中添加(ns db),但务必确保menu.clj文件顶部也有对应的命名空间声明:(ns menu) ;; 后续的menu模块代码验证当前工作目录正确性
运行clj命令前,确保PowerShell的当前工作目录就是包含app.clj、db.clj、menu.clj的目录。可以用pwd命令查看当前路径,用cd命令切换到目标目录。
优化建议(非必须,但更规范)
将多个(:require)合并为一个,符合Clojure的常规写法:
(ns app (:require [clojure.string :as str] [db] [menu]))
内容的提问来源于stack exchange,提问作者Big Dot
相关产品推荐
相关产品推荐

