[英]Is there an annotation to register a package of classes with JAXB?
我的理解是JAXB必須知道可能需要編組或解組的所有類 。 @XmlSeeAlso批注可用於使JAXB知道它無法自動檢測到的類,如下所示:
@XmlSeeAlso({Dog.class,Cat.class,Mouse.class})
有沒有可用於指定包而不是列出每個單獨類的注釋? 如果上面的類在com.zoo.animals
包中,我想這樣做:
@XmlSeeAlso("com.zoo.animals")
package-info
或jaxb.properties
文件或類似的東西可以幫助JAXB發現這些類。 同樣,如果至關重要的話,生成這樣的文件並不是不可行的。 JAXBContext.newInstance( "com.acme.foo:com.acme.bar")
在代碼中完成,但目前我不與該對象進行交互,並且我並不想這樣做是等效的注釋。 在一個或多個程序包名稱上創建JAXBContext
,JAXB將在那些程序包中查找jaxb.index
文件或ObjectFactory
以確定用於在其上創建JAXBContext
的類。 JAXB本身不執行任何軟件包掃描。
您還可以在一個類數組上創建一個JAXBContext
。 您可以利用自己的包裹掃描儀來制作此陣列。
您提到您不直接與JAXBContext
交互。 根據您的環境,有多種方法可以解決此問題。 例如,在JAX-RS中,您可以使用ContextResolver
插入此邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.