我是 JAXB 新手,我想使用 EclipseLink MOXy 更改默认名称空间前缀。我的 package-info.java 有以下代码行:
@javax.xml.bind.annotation.XmlSchema (
namespace="http://namespace.mysite.com/",
xmlns = {
@javax.xml.bind.annotation.XmlNs(prefix="myns",
namespaceURI="http://namespace.mysite.com/")
},
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED
)
package com.core.mymodel;
我的 jaxb.properties 文件具有以下行:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
我已将 eclipselink.jar 添加到 CLASSPATH,package-info.java 和 jaxb.properties 文件与我的模型类位于同一包中,但是,当我运行该程序时,出现以下错误消息:
javax.xml.bind.JAXBException: Provider org.eclipse.persistence.jaxb.JAXBContextFactory not found
- with linked exception:
[java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory]
at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
at javax.xml.bind.ContextFinder.find(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
我已经用 EclipseLink 版本 2.3.0 和 2.0.2 尝试过此操作,但仍然收到相同的错误消息。有谁知道可能是什么问题吗?
提前谢谢了
你似乎有你的jaxb.properties
根据异常消息纠正文件:
javax.xml.bind.JAXBException: Provider org.eclipse.persistence.jaxb.JAXBContextFactory not found
- with linked exception:
[java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory]
at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
at javax.xml.bind.ContextFinder.find(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
为了确认org.eclipse.persistence.jaxb.JAXBContextFactory
在你的类路径上你可以尝试:
JAXBContext jc = JAXBContextFactory.createContext("com.core.mymodel", null);
要进行更基本的确认,您可以运行:
System.out.println(org.eclipse.persistence.Version.getVersion());
了解更多信息
- http://bdoughan.blogspot.com/2011/05/specifying-eclipselink-moxy-as-your.html http://bdoughan.blogspot.com/2011/05/specifying-eclipselink-moxy-as-your.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)