Ben, I would appreciate it if you'd show me the sample code. Thanks for your help, everyone!
On Tuesday, January 27, 2015 at 6:28:59 AM UTC-6, Benjamin VanRyseghem wrote: > > I face something similar. > > The issue was that inside a jar file, a resource is not a java.io.File > anymore. > > I could turn around using an InputStream (I was in the case I wanted to > serve a resource via http-kit) > > If you want more info, I can point you to the code where I use it > > Hope it helps, > Ben > > > > > On Tue, Jan 27, 2015 at 5:04 AM, Dan Harbin <dan.h...@gmail.com > <javascript:>> wrote: > >> I've created a sample project at Github[1] to demonstrate the problem I'm >> facing with accessing a resource file when using an uberjar. Could someone >> point out what I'm doing wrong here? Thanks! >> >> >> [1]: https://github.com/RasterBurn/halp >> >> >> ### Given this code: ############### >> >> ```clojure >> (ns halp.core >> (:require [clojure.java.io :as io]) >> (:gen-class)) >> >> (defn -main >> "I don't do a whole lot ... yet." >> [& args] >> (-> "hi.txt" >> io/resource >> io/file >> (io/copy *out*))) >> ``` >> >> ### It runs well under leiningen ####### >> >> ``` >> ➜ halp lein run >> . >> ─────────▄──────────────▄ >> ────────▌▒█───────────▄▀▒▌ >> ────────▌▒▒▀▄───────▄▀▒▒▒▐ >> ───────▐▄▀▒▒▀▀▀▀▄▄▄▀▒▒▒▒▒▐ >> ─────▄▄▀▒▒▒▒▒▒▒▒▒▒▒█▒▒▄█▒▐ >> ───▄▀▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▀██▀▒▌ >> ──▐▒▒▒▄▄▄▒▒▒▒▒▒▒▒▒▒▒▒▒▀▄▒▒▌ >> ──▌▒▒▐▄█▀▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐ >> ─▐▒▒▒▒▒▒▒▒▒▒▒▌██▀▒▒▒▒▒▒▒▒▀▄▌ >> ─▌▒▀▄██▄▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▌ >> ─▌▀▐▄█▄█▌▄▒▀▒▒▒▒▒▒░░░░░░▒▒▒▐ >> ▐▒▀▐▀▐▀▒▒▄▄▒▄▒▒▒▒▒░░░░░░▒▒▒▒▌ >> ▐▒▒▒▀▀▄▄▒▒▒▄▒▒▒▒▒▒░░░░░░▒▒▒▐ >> ─▌▒▒▒▒▒▒▀▀▀▒▒▒▒▒▒▒▒░░░░▒▒▒▒▌ >> ─▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ >> ──▀▄▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▄▒▒▒▒▌ >> ────▀▄▒▒▒▒▒▒▒▒▒▒▄▄▄▀▒▒▒▒▄▀ >> ───▐▀▒▀▄▄▄▄▄▄▀▀▀▒▒▒▒▒▄▄▀ >> ──▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▀▀ >> ``` >> >> ### But not so much as an uberjar ######### >> >> ``` >> ➜ halp java -jar target/uberjar/halp-0.1.0-SNAPSHOT-standalone.jar >> Exception in thread "main" java.lang.IllegalArgumentException: Not a file: >> jar:file:/home/vagrant/code/halp/target/uberjar/halp-0.1.0-SNAPSHOT-standalone.jar!/hi.txt >> at clojure.java.io$fn__8588.invoke(io.clj:63) >> at clojure.java.io$fn__8572$G__8556__8577.invoke(io.clj:35) >> at clojure.java.io$file.invoke(io.clj:414) >> at halp.core$_main.doInvoke(core.clj:11) >> at clojure.lang.RestFn.invoke(RestFn.java:397) >> at clojure.lang.AFn.applyToHelper(AFn.java:152) >> at clojure.lang.RestFn.applyTo(RestFn.java:132) >> at halp.core.main(Unknown Source) >> ``` >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com >> <javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.