Java 使用包含CDATA的XML配置MOXy的@XmlPath

Java 使用包含CDATA的XML配置MOXy的@XmlPath,java,jaxb,eclipselink,moxy,Java,Jaxb,Eclipselink,Moxy,我正在尝试使用XPath通过映射映射XML文档。但当XML包含CDATA标记时会遇到问题,例如: @XmlPath 现在,在运行和XML through and unmarshaller方法时,它抛出一个空指针错误,如下所示: java.lang.NullPointerException 位于org.eclipse.persistence.oxm.record.UnmarshalRecord.startCDATAUnmarshalRecord.java:1035 位于org.eclipse.pe

我正在尝试使用XPath通过映射映射XML文档。但当XML包含CDATA标记时会遇到问题,例如:

@XmlPath

现在,在运行和XML through and unmarshaller方法时,它抛出一个空指针错误,如下所示:

java.lang.NullPointerException 位于org.eclipse.persistence.oxm.record.UnmarshalRecord.startCDATAUnmarshalRecord.java:1035 位于org.eclipse.persistence.internal.oxm.record.XMLReader$LexicalHandlerWrapper.startCDATAXMLReader.java:226 位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.StartDataAbstractSAXParser.java:625 www.com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocumentXMLDocumentFragmentScannerImpl.java:487 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parseXML11Configuration.java:808 位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parseXML11Configuration.java:737 位于com.sun.org.apache.xerces.internal.parsers.XMLParser.parseXMLParser.java:119 在com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parseAbstractSAXParser.java:1205 位于com.sun.org.apache.xerces.internal.jaxp.saxpasserimpl$JAXPSAXParser.parsesaxpraserimpl.java:522 位于weblogic.xml.jaxp.WebLogicXMLReader.parseWebLogicXMLReader.java:133 在weblogic.xml.jaxp.RegistryXMLReader.parseRegistryXMLReader.java:173 位于org.eclipse.persistence.internal.oxm.record.XMLReader.parseXMLReader.java:147 位于org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshaller.java:713 位于org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshaller.java:286 位于org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshaller.java:260 位于org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshaller.java:505 位于org.eclipse.persistence.oxm.xmlumarshaller.unmarshaller.java:594 位于org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshalJAXBUnmarshaller.java:269 位于com.jbhunt.lib.mgintegrationutils.utils.JAXBUtils.unmarshalJAXBUtils.java:67 位于com.jbhunt.biz.mgarListener.mq.converter.MgarListenerMQMessageParser.getMasterARStagingVoMgarListenerMQMessageParser.java:51 位于com.jbhunt.biz.mgarListener.mq.MgarListenerMessageConsumerImpl.onMessageGarListenerMessageConsumerImpl.java:62 在com.jbhunt.biz.mgarListener.mq.JMSMessageProcessor.receiveAndProcessMessageJMSMessageProcessor.java:106 在com.jbhunt.biz.mgarListener.thread.MessageProcessorThread.runMessageProcessorThread.java:46 java:662 更新


嗨,Blaise,我将eclipse版本更新为2.4.1,解决了这个问题 我面临的CDATA问题。现在一切都好了

我很高兴听到现在一切正常。下面是一篇关于EclipseLink 2.4中MOXy的新功能的文章:

由于您使用的是EclipseLink 2.3.0,我相信您遇到了EclipseLink 2.3.1中修复的以下错误

EclipseLink目前的版本为2.4.1,如果您能够:


XPath通过JAXB解析XML——这些词按顺序串在一起时毫无意义。也许你应该发布你的实际代码,然后也许有人能帮助你。你能发布你的对象模型吗?另外,我看到您正在使用EclipseLink 2.3.0如果您能够升级,当前的版本是2.4.1:嗨,Blaise,我将eclipse版本更新为2.4.1,它解决了我面临的CDATA问题。现在一切都好了。
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory