Java 如何确保my.jar从独立文件中读取数据

Java 如何确保my.jar从独立文件中读取数据,java,csv,clojure,leiningen,Java,Csv,Clojure,Leiningen,我有一个程序,需要在运行之前读取csv文件。此数据位于我的clojure项目的资源文件夹中 当从“resources/data.cv”发出声音时,程序运行正常,但是这会导致.jar不是独立的,而是需要资源文件夹 如何确保在运行leinuberjar时也编译资源 我已经尝试过(csv/slurp csv(io/resource“mma_duffing.csv”)但是.jar文件不会运行。非常感谢您提供的任何帮助!如果您将文件放入资源目录,那么您可以在运行lein和运行jar时使用类似以下代码来读取

我有一个程序,需要在运行之前读取csv文件。此数据位于我的clojure项目的资源文件夹中

当从
“resources/data.cv”
发出声音时,程序运行正常,但是这会导致
.jar
不是独立的,而是需要资源文件夹

如何确保在运行
leinuberjar
时也编译资源


我已经尝试过
(csv/slurp csv(io/resource“mma_duffing.csv”)
但是.jar文件不会运行。非常感谢您提供的任何帮助!

如果您将文件放入资源目录,那么您可以在运行lein和运行jar时使用类似以下代码来读取它:


(defn)读取资源
[]
(slurp(.getResource(ClassLoader/getSystemClassLoader)“mydatafile”))


希望对你有用…

如果你读了
(println(slurp(io/resource“mma_duffing.csv”)),你能读到这个文件吗
?当从jar运行时,io资源的工作方式略有不同,该资源将有一个协议,如:
jar:file:/blablablabla/bla.jar!/data.csv
。如果此处的csv库使用某种自定义文件读取器,它可能不知道如何处理此协议。检查csv库的源代码,看看它如何访问该协议e file.尝试了这个减号
println
,因为我不需要它,它工作得很好。不太确定出了什么问题,但谢谢!