嗨,我是Clojure的新手,正在按照这个教程创建Clojure API。这个教程使用了IntelliJ的Cursive插件,但我正在使用VS Code中的Calva。
这是我的项目结构
.
├── deps.edn
├── resources
│ └── config.edn
└── src
└── clojure_api
├── config.clj
└── core.clj
我的config.clj
文件内容
(ns clojure-api.config
(:require [aero.core :as aero]
[clojure.java.io :as io]))
(defn read-config []
(-> "config.edn"
(io/resource)
(aero/read-config)))
我将deps.edn文件更改为添加src
& resources
路径,如下所示
{:deps {aero/aero {:mvn/version "1.1.6"}} :path ["resources" "src"]}
同时保留config.edn
文件为空映射:{}
。然而,我无法从config.clj
中的read-config
函数中读取配置文件。在Calva repl中给出了这个错误
; Execution error (IllegalArgumentException) at aero.core/read-config-into-tagged-literal (core.cljc:194).
; Cannot open <nil> as a Reader.
这个教程在Cursive中通过刷新项目结构解决了这个错误。我似乎找不到任何类似的命令在Calva中。我如何在Calva中更新/刷新我的项目结构,以便将dep_edn更改反映在repl中?
我已经尝试重启repl,重新打开VS code中的文件夹,将resources
目录来来回回乱移动,但都没有成功。
我在搜索引擎中找不到与这个问题相关的答案,所以任何帮助都将受到欢迎。