JDK6u18中JAXB的NamespacePrefixMapper发生了什么
我一直com.sun.xml.bind.marshaller.NamespacePrefixMapper
在我的项目中使用它,而在JDK
6u17中我对此没有任何问题。现在,我刚刚更新为6u18,我发现它已被替换为com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper
。但是,如果导入此类并尝试编译我的类,则会收到错误消息:
包com.sun.xml.internal.bind.marshaller不存在导入com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper;
我可以通过NetBeans代码完成功能访问此程序包,而NetBeans不会突出显示错误代码。
任何帮助,将不胜感激!
回答:
我不认为该类com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper
可以替代,该类已经com.sun.xml.bind.marshaller.NamespacePrefixMapper
存在很长时间了,根本
(因此internal
包装)。
这里的问题是JavaSE 6没有JAXB RI(它具有JAXB实现,但没有JAXB RI),因此,如果您要依赖RI特定功能,则应将JAXB
RI捆绑在应用程序中(这样可以保护您的权益) JAXB中Java SE中的更改)。
以上是 JDK6u18中JAXB的NamespacePrefixMapper发生了什么 的全部内容, 来源链接: utcz.com/qa/405387.html