実行時に丸呑みされる特定のデータ ファイルに依存する webapp に取り組んでいます。データファイルが存在しないと、コンパイルできないようです。どうしてこれなの?
これは私の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)
どうすれば自分の戦争をコンパイルできますか? コンパイル時にファイルを丸呑みしたり、存在を確認したりする必要はありません。前もって感謝します!
[アップデート]
これは、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)
どうすればこれを修正できますか?