我有两个具有 JAXB 注释的 Scala 案例类。
@XmlRootElement
@XmlSeeAlso({ Array(classOf[Element]) })
case class Config(
@(XmlElement @field) name: String,
@(XmlElement @field) reelCount: Int,
@(XmlElement @field) slots: Int,
@(XmlElementWrapper @field)@(XmlAnyElement @field) elements: List[Element]) {
private def this() = this("", 0, 0, new ArrayList())
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
case class Element(
@(XmlAttribute @field)@(XmlID @field) id: Int,
@(XmlElement @field) name: String,
@(XmlElement @field) imgPath: String) {
private def this() = this(0, "", "")
}
当我@(XmlID @field)
从元素的第一个属性中删除注释时,编组工作。当我使用 xml id 字段对其进行注释时,出现以下异常:
[IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions]
它应该在 Java 中使用这 2 个注释,但不知道我在 Scala 中做错了什么。有任何想法吗?或者也许有一些解决方法?