在示例项目中,
https://github.com/technomancy/leiningen/blob/master/sample.project.clj
在上line 217,有一个包含非代码文件的指令:
:resource-paths ["src/main/resource"] ; non-code files included in classpath/jar
Run Code Online (Sandbox Code Playgroud)
resources我的项目中有一个文件夹,而project.clj中的这一行
:resource-paths ["resources"] ; non-code files included in classpath/jar
Run Code Online (Sandbox Code Playgroud)
但是,当我运行lein jar生成.jar文件时,它不会打包resources文件夹。
有什么我想念的吗?
实际上,它确实被包装了。我只是没有找到正确的位置:
来自: Clojure应用程序中的资源
莱宁根从Maven借用了资源约定,文件夹布局略有不同。该规则指出资源文件夹必须用作编译时类路径的根,这意味着leiningen正确地将资源文件夹中的所有文件放在jar的根位置。
我以为将用jar本身创建一个资源目录,但lein jar将资源目录中的所有文件复制到jar的根目录。