请阐明 JAXBContext 配置。鉴于:
com.mycompany.user01234
具有多个 JAXB 注释类的客户库- 所有类都是位于同一个包中的简单 POJO
- 类由
@XmlType
com.mycompany.user01234.UserClass1.class
客户通过 Web 服务端点将实例编组到服务器。在服务器端,我执行以下操作:
JAXBContext jbc = JAXBContext.newInstance("com.mycompany.user01234")
Unmarshaller um = jbc.createUnmarshaller();
JAXBElement<Object> element = um.unmarshal(source, Object.class);
Object customerInput = element.getValue();
只有当我使用以下内容修补客户库时,它才能正常工作package-info.java
:
@XmlSchema(elementFormDefault = XmlNsForm.QUALIFIED)
package com.mycompany.user01234;
令我感到羞耻的是,我还没有找到任何关于这个@XmlNsForm
注释是什么以及它如何影响解组过程的明确解释。这是第一个问题。
第二个问题是是否有可能(在给定的布局中)将该QUALIFIED
值放入某些属性或默认值中,JAXBContext
或使用其他非声明性方式允许摆脱package-info.java
.
提前谢谢了!