gpt4 book ai didi

vim - Clojure Yesql 无法找到查询文件

转载 作者:行者123 更新时间:2023-12-04 17:34:24 27 4
gpt4 key购买 nike

我正在尝试在我的测试 Clojure 项目中使用 Kris Jenkins 的 Yesql 库。我创建了一个样本 queries.sql具有单个查询的文件。单例core.clj文件看起来像这样(precalc 是测试项目的名称):

(ns precalc.core)
(require '[yesql.core :refer [defqueries defquery]])

(println (defqueries "resources/queries.sql"))
(defquery col-type "resources/queries.sql")
(slurp "resources/queries.sql")

尝试评估时,例如第 4 行,我得到
;!!CompilerException java.io.FileNotFoundException: resources/queries.sql, compiling:(precalc/core.clj:4:10)
我试过把 queries.sql也进入根项目文件夹,但无济于事。啜饮虽然有效。我的错误一定很明显。有人可以帮忙吗?

我使用 Leiningen 的 repl、Macvim 和 Tim Pope 的 vim-fireplace 插件,通过 cider-nrepl 连接。

谢谢!

最佳答案

该文件必须位于您可以使用的类路径中

lein classpath

查看前几个条目,它们将类似于以下内容:
/git/project/test:/git/project/src:/git/project/dev-resources:/git/project/resources:...

既然你已经把它放进 resources ,你准备好了。然而,重要的一点是您传递给 defqueries 的路径。必须相对于您的类路径,因此在您的情况下相对于 resources :
(defqueries "queries.sql")
slurp之所以有效,是因为它直接在您的文件系统上运行,而不仅仅是在类路径上。由于您在项目根目录中启动了 REPL, resources/queries.sql是一个完全有效的路径。

关于vim - Clojure Yesql 无法找到查询文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28193241/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com