我希望将我们项目的jaxb版本从1更新到2。有人尝试过在他们的项目中这样做吗?有没有人想这样做的人有什么建议?我知道每个项目都是独一无二的,我只是在寻找一般的技巧。
发布于 2008-11-08 07:05:17
JAXB2将为简单类型限制生成枚举类。任何依赖于设置字符串值以使用这些类型的Java代码都需要使用适当的枚举。我认为这很棒,因为你在编译时会得到类型检查,而不是在运行时得到验证警告。
JABX2使用类型化列表而不是非类型化列表,因此您可以从java代码中删除大量的强制转换。
数据支持得到了极大的改进。JAXB1中的大多数日期类型生成日历,而JAXB2中的大多数日期类型生成XMLGregorianCalendar。
发布于 2010-02-06 04:26:51
今天,我阅读了一篇关于JAXB1的教程,并尝试使用JAXB2.1(如JavaSE 6中所包含的)编译该示例。XSD中的元素使用未命名的类型,例如:
<xs:element name="logging">
<xs:complexType>
<xs:attribute name="debug" type="xs:boolean" use="required"/>
<xs:attribute name="file" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>在我看来,JAXB1.0生成了一个日志类和一个LoggingType类(指的是日志元素的未命名类型),而JAXB2只生成了一个日志类。这在这个例子的所有标签上都是定期发生的,所以我猜在这种情况下会经常发生这种情况。但是,只要删除"Type“后缀就可以修复编译,而不需要任何其他更改。
https://stackoverflow.com/questions/270282
复制相似问题