我在 project.clj 中定义了两个配置文件,一个在本地,一个用于在 travis 上进行测试:
:profiles {:dev {:dependencies [[midje "1.6.0"]
[mysql/mysql-connector-java "5.1.25"]]
:plugins [[lein-midje "3.1.3"]]
:user "root" :pass "root"}
:travis {:user "travis" :pass ""}}
我希望能够访问我的项目中的 :user 和 :pass 值。如何才能做到这一点?
更新:
我也希望能够使用
lein with-profile
命令......所以我的测试将有:lein with-profile dev test
-> 将使用“root”、“root”凭据
lein with-profile dev,travis test
-> 将使用 "travis", ""凭据
最佳答案
如果您不需要 project.clj
中定义的值对于其他任何事情(即,您可以自由选择表示形式)考虑 Environ .
然后您可以在 project.clj 中定义以下内容
:profiles {:dev {:env {:user "root" :pass "root"}}}
并读取值:
(use 'environ.core)
(def creds
{:user (env :user)
:pass (env :pass)})
这样做的好处是您还可以使用环境变量和系统属性指定值。
关于clojure - 如何访问 leiningen 配置文件上的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20469012/