From 568675c75f842af7a8e81d6ed81025f1333d2f08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cam=20Sa=C3=BCl?= <cammsaul@gmail.com> Date: Wed, 30 Sep 2015 14:33:15 -0700 Subject: [PATCH] Fix loading `version.properties` from uberjar. Fixes #1057 --- src/metabase/config.clj | 2 +- src/metabase/core.clj | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/metabase/config.clj b/src/metabase/config.clj index 45aa07d2275..519455c6401 100644 --- a/src/metabase/config.clj +++ b/src/metabase/config.clj @@ -81,7 +81,7 @@ :short (-> (shell/sh "./version" "--short") :out s/trim)}) (defn- version-info-from-properties-file [] - (with-open [reader (io/reader "resources/version.properties")] + (with-open [reader (io/reader (io/resource "version.properties"))] (let [props (java.util.Properties.)] (.load props reader) (into {} (for [[k v] props] diff --git a/src/metabase/core.clj b/src/metabase/core.clj index 61e8b5e1ea5..c068c4d4a47 100644 --- a/src/metabase/core.clj +++ b/src/metabase/core.clj @@ -1,7 +1,8 @@ ;; -*- comment-column: 35; -*- (ns metabase.core (:gen-class) - (:require [clojure.string :as s] + (:require [clojure.java.io :as io] + [clojure.string :as s] [clojure.tools.logging :as log] [colorize.core :as color] [ring.adapter.jetty :as ring-jetty] @@ -160,11 +161,9 @@ (when-not (sample-dataset-id) (try (log/info "Loading sample dataset...") - (let [resource (-> (Thread/currentThread) ; hunt down the sample dataset DB file inside the current JAR - .getContextClassLoader - (.getResource sample-dataset-filename))] + (let [resource (io/resource sample-dataset-filename)] (if-not resource - (log/error (format "Can't load sample dataset: the DB file '%s' can't be found by the ClassLoader." sample-dataset-filename)) + (log/error (format "Can't load sample dataset: the DB file '%s' can't be found." sample-dataset-filename)) (let [h2-file (-> (.getPath resource) (s/replace #"^file:" "zip:") ; to connect to an H2 DB inside a JAR just replace file: with zip: (s/replace #"\.mv\.db$" "") ; strip the .mv.db suffix from the path -- GitLab