0

是否可以在 * conf文件中包含另一个conf文件?

当前实施:

// db-writer.conf
writer: {
  name="DatabaseWriter",
  model="model1",
  table-name="model1",
  append=false,
  create-table-file="sql/create_table_model1.sql",
  source-file="abcd.csv"
}

所需的解决方案:

// model1.conf + others model2.conf, model3.conf..
table: {
 name="model1",
 table-name="model1",
 create-table-file="../sql/create_table_model1.sql"
}

//db-writer.conf
import model1.conf       <=== some import?
writer: {
  name="DatabaseWriter",
  model="model1",        <=== some reference like this?
  append=false,
  source-file="abcd.csv"
}

我想要这样的原因是:

  • 减少重复定义
  • 预定义很少修改的用户配置文件

我想这是不可能的 - 如果没有,你有什么建议如何分离配置和重用它们?

我正在使用 scala 2.12 lang 和 pureconfig 0.14(可以更新到任何更新版本)

4

1 回答 1

2

Pureconfig 使用HOCON(尽管对持续时间等事物的某些解释有所不同)。支持HOCON include

所以假设你有model1.conf你的资源(例如src/main/resources),你所需要的db-writer.conf只是

include "model1"

还支持 HOCON 样式的覆盖和连接:

writer: ${table} {
  name = "DatabaseWriter"
  model = "model1"
  append = false
  source-file = "abcd"
}
于 2021-07-16T16:17:57.040 回答