【问题标题】:Clojure and maven ... can't read a resource data fileClojure 和 maven ...无法读取资源数据文件
【发布时间】:2015-02-03 20:54:56
【问题描述】:

我在 Clojure 应用程序的 maven pom.xml 文件中有这个:

<resources>
  <resource>
    <directory>src/main/clojure/com/codenvy/example/clojure</directory>
    <includes>
      <include>test.fasta</include>
    </includes>
  </resource>
</resources>

(slurp "test.fasta") 在我的 Clojure 代码中。

Clojure 文件“App.clj”和数据文件“test.fasta”文件位于目录中

src/main/clojure/com/codenvy/example/clojure

但我总是得到一个错误:

...
[STDERR] Exception in thread "main" java.io.FileNotFoundException: test.fasta (No such file or directory)
[STDERR]    at java.io.FileInputStream.open(Native Method)
[STDERR]    at java.io.FileInputStream.<init>(FileInputStream.java:146)
[STDERR]    at clojure.java.io$fn__8702.invoke(io.clj:229)
[STDERR]    at clojure.java.io$fn__8615$G__8606__8622.invoke(io.clj:69)
[STDERR]    at clojure.java.io$fn__8714.invoke(io.clj:258)
[STDERR]    at clojure.java.io$fn__8615$G__8606__8622.invoke(io.clj:69)
[STDERR]    at clojure.java.io$fn__8676.invoke(io.clj:165)
[STDERR]    at clojure.java.io$fn__8628$G__8610__8635.invoke(io.clj:69)
[STDERR]    at clojure.java.io$reader.doInvoke(io.clj:102)
[STDERR]    at clojure.lang.RestFn.invoke(RestFn.java:410)
[STDERR]    at clojure.lang.AFn.applyToHelper(AFn.java:154)
[STDERR]    at clojure.lang.RestFn.applyTo(RestFn.java:132)
[STDERR]    at clojure.core$apply.invoke(core.clj:626)
[STDERR]    at clojure.core$slurp.doInvoke(core.clj:6390)
[STDERR]    at clojure.lang.RestFn.invoke(RestFn.java:410)
[STDERR]    at com.codenvy.example.clojure.App$_main.doInvoke(App.clj:35)
[STDERR]    at clojure.lang.RestFn.applyTo(RestFn.java:137)
[STDERR]    at com.codenvy.example.clojure.App.main(Unknown Source)
...

【问题讨论】:

    标签: maven clojure


    【解决方案1】:

    slurp 在相对/绝对路径上运行而不注意类路径。但是你仍然可以使用clojure.java.io/resource 啜饮:

    (require '[clojure.java.io :as io])
    (slurp (io/resource "test.fasta"))
    

    请注意,如果找不到资源,io/resource 将返回 nil。你可能想提防这种情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-12
      • 2019-10-16
      • 2016-02-22
      • 2014-06-07
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多