在 clojure 中获取配置文件的与操作系统无关的方式



我有一些 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将从所有这些地方收集数据。

相关内容

最新更新