我有这个文件(campanhas.conf)运作良好:
campanhas = [
{
codigo = CT1
nome = Campanha 1
descricao = Campanha de Teste
modoAtendimento = power
grupoDAC = grupo1
}
{
codigo = CT2
nome = Campanha 2
descricao = Testeee
modoAtendimento = preview
grupoDAC= grupo2
}
]
但是我想先申报对象,以便以后更容易订购。像这样:
CT1{
codigo = CT1
nome = Campanha 1
descricao = Campanha de Teste
modoAtendimento = power
grupoDAC = grupo1
}
CT2{
codigo = CT2
nome = Campanha 2
descricao = Testeee
modoAtendimento = preview
grupoDAC= grupo2
}
campanhas = [${CT2}, ${CT1}]
但它说:
替换未解决:ConfigReference($ {CT2})
如何创建先前声明的对象数组?
答案 0 :(得分:0)
hocon文件本身没有任何问题。
在阅读conf时,我只使用了parseFile()。我不得不使用resolve()。
private Config loadConfig(File file) {
Config cfg = ConfigFactory.parseFile(file);
if (cfg == null)
throw new CoreRuntimeException(MessageFormatter.format(
"Arquivo {} não foi encontrado no CLASSPATH.", file));
cfg = cfg.resolve();
return cfg;
}