首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Leiningen部署到Clojars中包含非Clojure源文件?

如何在Leiningen部署到Clojars中包含非Clojure源文件?
EN

Stack Overflow用户
提问于 2020-08-18 00:24:18
回答 1查看 66关注 0票数 0

前几天,我将一个项目部署到Clojars,以便能够在其他项目中轻松地使用它作为依赖项。今天我试着用它,它打破了,说它找不到一个文件(让我们称之为grammar.ebnf)。这是一个描述语法的文件,然后在我的slurp模块中安装。我把它作为一个单独的文件使用语法将语法从逻辑中分离出来。我将它定位在与其他源文件相同的目录中。

显然,它没有包含在对Clojars的部署中。如何确保在使用.clj部署时该文件与lein deploy clojars文件一起包含

编辑:参见下面的注释

EN

回答 1

Stack Overflow用户

发布于 2020-08-18 15:41:48

请看这个模板项目。您需要的是创建一个./resources目录,并将文件放入其中。这些文件将包含在项目的类路径中,在本地或在创建JAR文件之后运行。

例如,我们可以创建一个文件resources/stuff.txt

代码语言:javascript
复制
> echo "happens" > resources/stuff.txt

访问它的方式是:

代码语言:javascript
复制
(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"))

有结果

代码语言:javascript
复制
    > 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.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63460232

复制
相关文章

相似问题

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