I am using lein uberjar to create a standalone jar of application.
While doing
java -jar dataloader-0.1.0-SNAPSHOT-standalone.jar,
failure:
Caused by: java.lang.IllegalArgumentException: Not a file: jar:file:dataloader-0.1.0-SNAPSHOT-standalone.jar!/configuration.json
I upload the file via:
(ns dataloader.configuration (:gen-class) (:require [cheshire.core :refer :all] [clojure.java.io :as io])) (def data-file (io/file (io/resource "configuration.json")))
project.clj
(defproject dataloader "0.1.0-SNAPSHOT" :description "Used for loading stage data into local vagrantbox" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :resource-paths ["resources"] :dependencies [[org.clojure/clojure "1.6.0"] [clojurewerkz/elastisch "2.1.0"] [org.clojure/java.jdbc "0.3.7"] [mysql/mysql-connector-java "5.1.32"] [clj-http "2.0.0"] [org.clojure/data.json "0.2.6"] [org.clojure/data.codec "0.1.0"] [cheshire "5.5.0"]] :main ^:skip-aot dataloader.core :target-path "target/%s" :profiles {:uberjar {:aot :all}})
resources / configuration.json is placed in the root jar folder
jar resources clojure uberjar leiningen
Martin Lechner Aug 26 '15 at 17:10 2015-08-26 17:10
source share