2016-07-20 29 views
1

Wenn ich lein run verwende, ist das Projekt kein Problem.Wie erstelle ich mit "lein uberjar" einen Uberjar?

Aber wenn ich jave -jar blog.jar nach lein uberjar verwende Es passieren Ausnahmen.

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- 

und meine project.clj Datei

(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 {}}) 

Vielleicht kann es nicht den Schlüssel von "Datenbank-URL" finden?

Antwort

1

Daten, die über die Umgebungseinstellungen in project.clj bereitgestellt werden, werden nicht bereitgestellt, wenn Sie Java direkt verwenden. Es liegt in Ihrer Verantwortung sicherzustellen, dass die für die App sichtbaren Umgebungseinstellungen Anmeldeinformationen oder erforderliche Verbindungsinformationen enthalten.

Es ist etwas aussehen könnte:

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

oh, see.But ich andere bequeme Methode Umgebung zu setzen oder jar starten Dank?. – Tornado

+0

Würden Befehlszeilenargumente keine bequeme Option sein? – Sanchayan

+0

@Tornado Sie könnten es in ein Unix-Shell-Skript oder eine Windows-Bat-Datei einfügen, um die "Komplexität" des Benutzers zu verbergen – murphy