如何在Scala中执行动态重新配置(如Dyre或XMonad)?

时间:2013-11-18 22:47:08

标签: scala configuration

Haskell应用程序的一种相当常见的配置方法是将程序作为库,主要功能提供了一组可选参数进行配置。在运行时,可执行文件本身使用此默认函数查找包含主函数的点文件,然后编译并运行该函数。这种配置方案允许用户添加任意​​复杂的功能而无需重新编译整个程序。例如Dyre libraryXMonad window manager。如何在Scala中干净利落地完成?似乎SBT在内部做了类似的事情。

在外部使用SBT需要将整个程序的源代码放在某处,并且缺乏仅具有单个点文件的清洁度。 Typesafe配置,Configrity,Bee Config和fig似乎只适用于普通的基于字符串的配置。

1 个答案:

答案 0 :(得分:2)

https://github.com/typesafehub/config是一个很棒的配置库。

支持三种格式的文件:Java属性,JSON和人性化的JSON超集