【发布时间】:2011-08-29 10:39:44
【问题描述】:
我需要帮助使用 JAXB 来(反)序列化 JTS Library 的多边形:
实施时
class PolygonAdapter extends XmlAdapter[String,Polygon] {...}
并注释多边形字段,如:
@XmlRootElement(name = "Room")
case class Room(@XmlAttribute name: String, description: String,
@XmlJavaTypeAdapter(classOf[PolygonAdapter]) polygon: Polygon) {...}
我收到标记为classOf[PolygonAdapter]) 的部分报告以下错误:
Multiple markers at this line
- type mismatch; found : java.lang.Class[room.PolygonAdapter](classOf[room.PolygonAdapter]) required: java.lang.Class[_ <:
javax.xml.bind.annotation.adapters.XmlAdapter]
- annotation argument needs to be a constant; found: classOf[PolygonAdapter]
- annotation argument needs to be a constant; found: classOf{<null>}[PolygonAdapter]{<null>}
- type mismatch; found : java.lang.Class[room.PolygonAdapter](classOf[room.PolygonAdapter]) required: java.lang.Class[_ <:
javax.xml.bind.annotation.adapters.XmlAdapter]
- annotation argument needs to be a constant; found: classOf{<null>}[PolygonAdapter]{<null>}
我的问题:
- 我该如何解决这个问题?
- 有没有比使用 JAXB 更好的方法来(反)序列化 scala 中的复杂对象层次结构?
谢谢。
【问题讨论】:
标签: scala annotations jaxb