我有一些 clojure 应用程序可以在/etc/
中加载.properties
文件中的敏感信息,到目前为止效果很好。
最近,我不得不处理添加到我们的服务器集合中的一些Windows机器,我也需要在那里运行clojure应用程序。Windows显然没有或理解/etc/
路径,我通过查看/etc/
绕过了这一事实,如果缺少,请查看d:configs
。
但我不太喜欢这种方式,因为,如果有另一个 Windows 开发人员正在研究它,并且他没有d:
或更喜欢其他地方的配置,它会变得混乱。
方法可以从clojure加载文件,无论它是什么操作系统?我最初的想法是在环境变量中保存一个键路径并从 clojure 访问它。
我只是想知道是否有更好的方法。谢谢。
看看环境。它在配置Clojure应用程序时提供了一定的灵活性,让您在多个选项之间进行选择:
- 环境变量:这似乎是在克洛朱尔兰要走的路,所以我想说你最初的想法并不是最糟糕的;
-
in
~/.lein/profiles.clj
:您可以将它们作为 Clojure 数据存储在:user
配置文件中 - 我想这听起来不错; -
Java CLI 属性:最后,您可以通过命令行直接将它们传递给
java
可执行文件。
environ
将从所有这些地方收集数据。