Я пытаюсь загрузить файл Yaml в MultiMap с помощью SnakeYAML, но постоянно сталкиваюсь со следующим исключением: java.base/java.util.LinkedHashMap cannot be cast to com.google.common.collect.Multimap
. Есть ли способ эффективно и эффективно загрузить объект SnakeYAML в MultiMap Guava? Я знаю, что вы можете сделать это с помощью обычных HashMaps, но мой целевой Yaml имеет дублирующиеся ключи, поэтому для него требуется использование MultiMaps. Спасибо за помощь заранее. Мой код для заполнения MultiMap с помощью SnakeYAML выглядит следующим образом:
//Read the config file
InputStream configIn;
try {
configIn = FileUtil.loadFileAsStream(configPath);
//Load the config file into the YAML object
pluginConf = LinkedHashMultimap.create((Multimap<String, Object>) configData.load(configIn));
}
catch(FileNotFoundException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
РЕДАКТИРОВАТЬ: образец YAML с повторяющимися ключами
join:
message: "JMessage1"
quit:
message: "QMessage1"
join:
message: "JMessage2"
quit:
message: "QMessage2"
join:
message: "JMessage3"
quit:
message: "QMessage3"