2016-07-20 6 views
1

私はlein runを使っても問題ありません。"lein uberjar"で正しくuberjarを作成する方法は?

しかし、私はjave -jar blog.jarの後にlein uberjarの例外が発生します。

16-Jul-20 11:28:05 DESKTOP-C3SC9AR INFO [slf4j-timbre.adapter] - >> starting.. *db* 
Exception in thread "main" java.lang.RuntimeException: could not start [*db*] due to 

     ..... 

Caused by: java.lang.Exception: :jdbc-url, :datasource, or :datasource- 

、私のproject.cljファイル

(defproject blog "0.1.0-SNAPSHOT" 

    :description "FIXME: write description" 
    :url "http://example.com/FIXME" 

    :dependencies .... 

    :min-lein-version "2.0.0" 
    :uberjar-name "blog.jar" 
    :jvm-opts ["-server"] 

    :main blog.core 
    :migratus {:store :database} 

    :plugins [[lein-environ "1.0.1"] 
      [migratus-lein "0.2.0"]] 

    :profiles 
    {:uberjar {:omit-source true 
      :env {:production true} 
      :aot :all 
      :source-paths ["env/prod/clj"]} 
    :dev   [:project/dev :profiles/dev] 
    :test   [:project/test :profiles/test] 
    :project/dev ... 
    :project/test ... 
    :profiles/dev {:env {:database-url "jdbc:postgresql://localhost/blog?user=postgres&password=root"}} 
    :profiles/test {}}) 

多分それは、 "データベースURL" のキーを見つけることができませんか?

答えて

1

javaを直接使用すると、project.cljの環境設定で提供されるデータは提供されません。アプリケーションに表示される環境設定が、必要な資格情報または接続情報を提供することを確認することは、あなたの責任です。

それはのようになります:?

DATABASE_URL="jdbc...." java -jar my-project-standalone.jar 
+0

はああ、私は環境を設定またはjar感謝を開始するための任意の他の便利な方法をsee.But。 – Tornado

+0

コマンドライン引数は便利なオプションでしょうか? – Sanchayan

+0

@ Tornadoユーザから「複雑さ」を隠すために、UNIXシェルスクリプトまたはWindowsのbatファイルにラップすることができます – murphy

関連する問題