1
我有一些创建ConfigurationProviderBuilder的java代码。如何将嵌套的yaml结构映射到Java的ConfigurationProviderBuilder?
private static ExampleConf conf(String confFile) {
ConfigFilesProvider configFilesProvider =
() -> Arrays.asList(Paths.get(confFile).toAbsolutePath());
// use local files as config source
ConfigurationSource source =
new FilesConfigurationSource(configFilesProvider);
// create provider
return new ConfigurationProviderBuilder()
.withConfigurationSource(source)
.build()
.bind("", ExampleConf.class);
}
ExampleConf看起来像这样
public interface ExampleConf {
String host();
int port();
String certFile();
}
最后,实际的配置文件看起来像这样
host: localhost
port: 8980
certFile: /usr2/certs/ca/ca.crt
这是很容易的,但现在我想创建的嵌套结构yaml配置文件。像这样的东西
paths:
- name: path one
columns:
- foo
- bar
- name: path two
columns:
- mario
- luigi
如何将THIS ^翻译成用于ExampleConf的java代码?
我还在加快Java的速度,这对我来说会更容易在Python中。
嘿,这似乎是一个不错的主意。我现在遇到了错误 **线程“主”java.lang.IllegalArgumentException异常:无法转换值'路径一,路径二'** – Zack
有一些麻烦绑定它看起来像。这看起来很接近。 – Zack
我对cfg4j没有经验,如果我需要这样做,我可能会使用SnakeYaml的反序列化功能。我不确定cfg4j的抽象增加了什么。 – flyx