【发布时间】:2011-10-12 16:08:48
【问题描述】:
我是 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 上进行了尝试,但仍然收到相同的错误消息。有谁碰巧知道可能是什么问题?
在此先感谢
【问题讨论】:
-
您在 Java SE、应用服务器、OSGi 中运行应用程序的环境是什么?
-
嗨,Blaise,我使用的是 Java SE v1.6
-
您是在类数组还是字符串上下文路径上创建 JAXBContext?
-
我正在字符串上下文路径上创建 JAXBContext。这是代码行:JAXBContext context = JAXBContext.newInstance("com.core.mymodel");
-
为澄清起见,“com.core.mymodel”是包含模型类和 jaxb.index 文件的包的名称。
标签: xml jaxb eclipselink moxy