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");
在不同环境下创建目录专门用于存放配置, 如下所示
# /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")