【发布时间】:2015-02-21 11:51:23
【问题描述】:
这似乎是一个经典问题,但我找不到任何关于它的“clojure 方式”。
所以,我在 resources/(leiningen 项目)中有一个 foo/ 目录。当 jar'd/uberjar'd 时,这个 foo/ 目录放在 jar 的根目录下。由于 jar 内的文件在运行时可能物理上不一致,所以不能使用基本的复制功能递归地将目录复制到外部世界。
Java 世界有几种解决方案(例如How to write a Java program which can extract a JAR file and store its data in specified directory (location)? 和How to extract directory (and sub directories) from jar resource?),但我没有找到任何适用于Clojure 的现有解决方案。 作为初学者(Clojure 和 Java),我不确定如何将上述解决方案转换为 Clojure。从 Java 逐行翻译到 Clojurish Java Interop 似乎并不正确。 有没有一种“官方的”、clojure 惯用的方式来做到这一点?
请注意,我使用的是 Raynes 的 fs 实用程序库。似乎没有直接执行此操作的功能,但也许我可以使用一些元素来简化流程? (除了明显的基本io糖)
【问题讨论】: