2016-07-20 5 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는 "데이터베이스 URL을"의 키를 찾을 수 없습니다 어쩌면

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

파일?

답변

1

java를 직접 사용하면 project.clj의 환경 설정을 통해 제공된 데이터가 제공되지 않습니다. 앱에 표시되는 환경 설정에서 필요한 자격 증명이나 연결 정보를 제공하는 것은 귀하의 책임입니다.

그것은 같은 것을 볼 수 있었다 :

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

오, 나는 환경을 설정하거나 단지 감사를 시작하는 다른 편리한 방법을 see.But. – Tornado

+0

명령 줄 인수는 편리한 옵션이 아니겠습니까? – Sanchayan

+0

@ 토네이도 당신은 사용자로부터 "복잡성"을 숨기기 위해 유닉스 쉘 스크립트 나 windows bat 파일로 포장 할 수 있습니다 – murphy