Haskell应用程序的一种相当常见的配置方法是将程序作为库,主要功能提供了一组可选参数进行配置。在运行时,可执行文件本身使用此默认函数查找包含主函数的点文件,然后编译并运行该函数。这种配置方案允许用户添加任意复杂的功能而无需重新编译整个程序。例如Dyre library和XMonad window manager。如何在Scala中干净利落地完成?似乎SBT在内部做了类似的事情。
在外部使用SBT需要将整个程序的源代码放在某处,并且缺乏仅具有单个点文件的清洁度。 Typesafe配置,Configrity,Bee Config和fig似乎只适用于普通的基于字符串的配置。
答案 0 :(得分:2)
https://github.com/typesafehub/config是一个很棒的配置库。
支持三种格式的文件:Java属性,JSON和人性化的JSON超集