У меня есть приложение Scala, которому нужно прочитать файл Yaml и загрузить его в класс case Scala. Я использую змею для выполнения этой работы, но кажется, что функция загрузки не может использовать конструктор моего класса case. Ниже приведен пример того, что я делаю:
Ямл-файл:
name: "Jon"
age: 50
gender: "male"
Класс корпуса:
final case class Person(
name: String,
age: Int,
gender: String
)
Код для извлечения и загрузки YAML:
val text: String = scala.io.Source.fromFile(file).mkString
val yaml = new Yaml(new Constructor(implicitly[ClassTag[T]].runtimeClass))
yaml.load(text).asInstanceOf[T]
Я получаю следующую ошибку:
org.yaml.snakeyaml.constructor.ConstructorException: Can't construct a java object for tag:yaml.org,2002:case_classes.Person; exception=java.lang.InstantiationException: NoSuchMethodException:case_classes.Person.<init>()
Что я могу сделать, чтобы избавиться от ошибки?