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