0
我有一個通用的(POJO-)容器與客戶分享統計數據:新澤西不能解組java.lang.Number中
@XmlRootElement
public class StatsSeries implements Serializable {
private TreeMap<Date, Number> timeSeries;
/* accessor methods */
}
根據數據,服務器存儲Long
,Integer
或它Double
,這就是爲什麼我使用抽象java.lang.Number
。
編組站工作正常,並表示具體類的提示都包含在數據:
"timeSeries": {
"entry": [
{
"key": "2012-08-20T00:00:00Z",
"value": {
"$": "24",
"@type": "xs:long"
}
},
....
]
}
或者在XML表示:
<timeSeries>
<entry>
<key>2012-08-20T00:00:00Z</key>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:long">24</value>
</entry>
...
</timeSeries>
當試圖來解讀這一點,我得到一個javax.xml.bind.UnmarshalException: Unable to create an instance of java.lang.Number
。我看到this question,但它不幫助我。我如何註釋java.lang.Number
?還有其他建議嗎?
更新:縱觀JAXB-890,據我所知,應該固定或者在JDK 1.7或使用com.sun.xml.bind:jaxb-impl:2.2.6
- 既不是爲我工作。