https://n3xtchen.github.io/n3xtchen/scala/2016/07/14/scala-typesafe-config

安装和使用

项目官网: https://github.com/typesafehub/config

在 sbt 依赖中添加

braryDependencies += "com.typesafe" % "config" % "1.3.0"  // 支持 java1.8 以上

案例代码如下

import com.typesafe.config.ConfigFactory

val conf = ConfigFactory.load();
int bar1 = conf.getInt("foo.bar");
Config foo = conf.getConfig("foo");
int bar2 = foo.getInt("bar");

通过 include 引用不同环境下的配置文件

在不同环境下创建目录专门用于存放配置, 如下所示

# /usr/local/etc/db.conf
db {
	jdbcUrl = "jdbc:mysql://0.0.0.0:3306/MyDatabase"
	user = "dba"
	pass = "pass"
}

然后在 resources 配置文件中引入公共配置

# src/main/scala/resources/application.conf
include "/usr/local/etc/db.conf"

这样就可以通过不修改 jar 包来达到修改配置文件的目录. 比传统的环境变量或者 java 参数要好上许多

另外, 也可以通过在 classpath 中添加配置文件目录

export CLASSPATH = /usr/local/etc/:$CLASSPATH

这样就可以在 resources 配置文件中直接简写为

include classpath("db.conf")