我对配置文件和环境变量的使用有疑问。environ
是否可以根据设置的配置文件导出变量?这是我尝试过的(部分project.clj
)
:env {:time-to-wait-for-response "72" ; in hours
:crm-address "https://app.onepagecrm.com/api/v3/"}
:profiles
{:uberjar {:omit-source true
:aot :all}
:uberwar {:omit-source true
:aot :all}
:prod {:ring {:open-browser? false
:stacktraces? false
:auto-reload? false}
{:env {:prod? true
:db-user "mailer"
:db-password "" }}
:dev {:env {:db-user "mailer"
:db-password ""}
:dependencies [[ring-mock "0.1.5"]
[ring/ring-devel "1.3.1"]
[midje "1.6.3"]]
:ring {:open-browser? false}
:plugins [[lein-midje "3.2.1"]]}})
lein ring uberwar
但是,如果我使用(甚至使用)构建 WAR 文件with-profile dev
并将其部署到 Tomcat,我将得到db-user
(使用nil
调用(env :db-user)
。但是lein ring server
正确使用dev
配置文件,因此它可以工作。我做错了什么吗?或者environ
不应该以这种方式使用?