我正在开发一个 webapp,它依赖于某个数据文件在运行时被 slurped。如果没有数据文件,我似乎无法编译。为什么是这样?
这是在我的 core.clj
(def my-data (slurp "my-file.txt"))
然后当我尝试编译时:
$ lein ring war
我得到了这个例外
Exception in thread "main" java.io.FileNotFoundException: my-file.txt (No such file or directory), compiling:(core.clj:24:28)
我怎样才能编译我的战争?我不需要在编译时对文件进行 slurped 甚至检查是否存在。提前致谢!
[更新]
这不是特定于 war 文件打包或环的,例如:
(ns slurp-test.core
(:gen-class))
(def x (slurp "/tmp/foo.txt"))
(defn -main [& args]
(println x))
然后:
$ lein uberjar
Compiling slurp-test.core
(ns slurp-test.core
Exception in thread "main" java.io.FileNotFoundException: /tmp/foo.txt (No such file or directory), compiling:(core.clj:4:8)
我怎样才能解决这个问题?