前几天,我将一个项目部署到Clojars,以便能够在其他项目中轻松地使用它作为依赖项。今天我试着用它,它打破了,说它找不到一个文件(让我们称之为grammar.ebnf)。这是一个描述语法的文件,然后在我的slurp模块中安装。我把它作为一个单独的文件使用语法将语法从逻辑中分离出来。我将它定位在与其他源文件相同的目录中。
显然,它没有包含在对Clojars的部署中。如何确保在使用.clj部署时该文件与lein deploy clojars文件一起包含
编辑:参见下面的注释
发布于 2020-08-18 15:41:48
请看这个模板项目。您需要的是创建一个./resources目录,并将文件放入其中。这些文件将包含在项目的类路径中,在本地或在创建JAR文件之后运行。
例如,我们可以创建一个文件resources/stuff.txt
> echo "happens" > resources/stuff.txt访问它的方式是:
(ns tst.demo.core
(:use tupelo.core tupelo.test)
(:require
[clojure.java.io :as io]
[clojure.string :as str]))
(dotest
(is= (str/trim (slurp (io/resource "stuff.txt")))
"happens"))有结果
> lein clean; lein test
------------------------------------------
Clojure 1.10.2-alpha1 Java 14.0.1
------------------------------------------
Testing tst.demo.core
Ran 2 tests containing 1 assertions.
0 failures, 0 errors.https://stackoverflow.com/questions/63460232
复制相似问题