首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure slurp连接被拒绝

Clojure slurp连接被拒绝
EN

Stack Overflow用户
提问于 2020-04-30 18:19:54
回答 2查看 95关注 0票数 0

我已经通过下面的命令创建了一个使用Luminus的项目:

lein new luminus myapp +mysql +kee-frame +swagger +oauth +kibit

在这个项目中,我创建了一个API调用,它调用一个函数来从磁盘读取文件。API调用(部分):

代码语言:javascript
复制
{:get {:summary "Returns a file from disk to show in GUI"
       :responses {200 {:body ::val/my-file}}
       :handler (constantly
                  {:status 200
                   :body (gui/get-file)})}}

函数get-file位于与myapp.db.gui相关的名称空间中,如下所示:

代码语言:javascript
复制
(defn get-file
  []
  (log/info "Trying to retrieve file")
  (read-string (slurp "file.edn")))

当我启动一个REPL并输入命令(mount/start)时,应用程序正常启动,并且我可以进行API调用来查看文件的内容。文件位置现在位于我的项目的根目录中。但是,如果我将文件放在resources/myapp中,并将slurp命令更改为(slurp "myapp/file.edn")(slurp "resources/myapp/file.edn"),则在运行(mount/start)之后会出现错误,并且应用程序不会启动。如果我尝试读取包含(slurp "C:\\Development\\file.edn")等绝对路径的文件,也会出现同样的错误

代码语言:javascript
复制
2020-04-30 12:02:03,512 [nREPL-session-88d31cf8-b119-4a87-901d-3eee1eb61cc7] INFO  myapp.env --=[myapp started successfully using the development profile]=-
2020-04-30 12:02:03,607 [nREPL-session-88d31cf8-b119-4a87-901d-3eee1eb61cc7] INFO  myapp.db.gui-related - Trying to retrieve file    
Execution error (ConnectException) at java.net.DualStackPlainSocketImpl/connect0 (DualStackPlainSocketImpl.java:-2).
    Connection refused: connect

在这个项目中,我将有很多'config‘文件要读取,我希望能够将它们放在项目根目录下的一个或多个子文件夹中。除此之外,还有另一个要读入的文件,该文件位于我的应用程序的文件夹结构之外。

如何读取这些文件?

EN

回答 2

Stack Overflow用户

发布于 2020-04-30 23:47:49

对于java,你应该总是使用正斜杠;那就是(slurp "C:/Development/file.edn"),我想(我没有windows)。

另外,从相对路径读取应该是可行的;您可以使用(System/getProperty "user.dir")检查REPL的当前工作目录,并验证路径是否正确。

票数 0
EN

Stack Overflow用户

发布于 2020-05-01 01:25:53

抱歉的。错误与slurp函数无关。在另一个函数中,我仍然有一个硬编码的API调用的URL,这一点已经改变了。因此我得到了这个

代码语言:javascript
复制
Execution error (ConnectException) at java.net.DualStackPlainSocketImpl/connect0 (DualStackPlainSocketImpl.java:-2).
Connection refused: connect

它与读取文件无关,而是试图访问localhost:5001而不是localhost:5000。多谢你们的支持

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61521127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档