缺少MOXy XMLCompositeCollectionMapping描述符 [英] MOXy XMLCompositeCollectionMapping descriptor is missing

查看:113
本文介绍了缺少MOXy XMLCompositeCollectionMapping描述符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

docx4j(我主持)通常与Sun / Oracle JAXB实现一起使用;下面感兴趣的类是使用XJC生成的。

docx4j (which I host) is typically used with the Sun/Oracle JAXB implementation; the classes of interest below were generated using XJC.

我以为我会尝试EclipseLink MOXy,看看它是怎么回事。

I thought I'd try EclipseLink MOXy, to see how it went.

在上下文初始化时,我收到以下错误:

On context init, I get the following error:

ERROR org.docx4j.jaxb.Context .<clinit> line 107 - Cannot initialize context
javax.xml.bind.JAXBException: 
Descriptor Exceptions: 
---------------------------------------------------------

Exception [EclipseLink-110] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Descriptor is missing for class [org.docx4j.vml.spreadsheetDrawing.STCF].
Mapping: org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping[moveWithCellsOrSizeWithCellsOrAnchor]
Descriptor: XMLDescriptor(org.docx4j.vml.spreadsheetDrawing.CTClientData --> [DatabaseTable(ns15:ClientData)])

Exception [EclipseLink-110] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Descriptor is missing for class [org.docx4j.bibliography.STSourceType].
Mapping: org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping[abbreviatedCaseNumberOrAlbumTitleOrAuthor]
Descriptor: XMLDescriptor(org.docx4j.bibliography.CTSourceType --> [])

Runtime Exceptions: 
---------------------------------------------------------

 - with linked exception:
[Exception [EclipseLink-0] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.IntegrityException
Descriptor Exceptions: 
---------------------------------------------------------

Exception [EclipseLink-110] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Descriptor is missing for class [org.docx4j.vml.spreadsheetDrawing.STCF].
Mapping: org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping[moveWithCellsOrSizeWithCellsOrAnchor]
Descriptor: XMLDescriptor(org.docx4j.vml.spreadsheetDrawing.CTClientData --> [DatabaseTable(ns15:ClientData)])

Exception [EclipseLink-110] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Descriptor is missing for class [org.docx4j.bibliography.STSourceType].
Mapping: org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping[abbreviatedCaseNumberOrAlbumTitleOrAuthor]
Descriptor: XMLDescriptor(org.docx4j.bibliography.CTSourceType --> [])

Runtime Exceptions: 
---------------------------------------------------------
]
    at org.eclipse.persistence.jaxb.JAXBContext$ContextPathInput.createContextState(JAXBContext.java:698)
    at org.eclipse.persistence.jaxb.JAXBContext$ContextPathInput.createContextState(JAXBContext.java:658)
    at org.eclipse.persistence.jaxb.JAXBContext.<init>(JAXBContext.java:143)
    at org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(JAXBContextFactory.java:110)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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 org.docx4j.jaxb.Context.<clinit>(Context.java:79)
    at org.docx4j.samples.OpenMainDocumentAndTraverse.<clinit>(OpenMainDocumentAndTraverse.java:52)
Caused by: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.IntegrityException
Descriptor Exceptions: 
---------------------------------------------------------

Exception [EclipseLink-110] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Descriptor is missing for class [org.docx4j.vml.spreadsheetDrawing.STCF].
Mapping: org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping[moveWithCellsOrSizeWithCellsOrAnchor]
Descriptor: XMLDescriptor(org.docx4j.vml.spreadsheetDrawing.CTClientData --> [DatabaseTable(ns15:ClientData)])

Exception [EclipseLink-110] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Descriptor is missing for class [org.docx4j.bibliography.STSourceType].
Mapping: org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping[abbreviatedCaseNumberOrAlbumTitleOrAuthor]
Descriptor: XMLDescriptor(org.docx4j.bibliography.CTSourceType --> [])

Runtime Exceptions: 
---------------------------------------------------------

    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:535)
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:476)
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:435)
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:676)
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.login(DatabaseSessionImpl.java:634)
    at org.eclipse.persistence.oxm.XMLContext$XMLContextState.<init>(XMLContext.java:830)
    at org.eclipse.persistence.oxm.XMLContext$XMLContextState.<init>(XMLContext.java:770)
    at org.eclipse.persistence.oxm.XMLContext.<init>(XMLContext.java:177)
    at org.eclipse.persistence.jaxb.JAXBContext$ContextPathInput.createContextState(JAXBContext.java:726)
    at org.eclipse.persistence.jaxb.JAXBContext$ContextPathInput.createContextState(JAXBContext.java:696)
    ... 13 more

第一个一对引用的类,我们有一个枚举 STCF CTClientData

The first pair of referenced classes, we have an enum STCF and CTClientData

第二对引用类,我们有另一个枚举 STSourceType CTSourceType

The second pair of referenced classes, we have another enum STSourceType and CTSourceType

我该如何解决这个问题?

How might I workaround this problem?

推荐答案

注意:我是 EclipseLink JAXB(MOXy) 领导和 JAXB(JSR-222) 专家组。

Note: I'm the EclipseLink JAXB (MOXy) lead and a member of the JAXB (JSR-222) expert group.

我已经能够重现你所看到的问题。您看到的问题是由于以下错误:

I have been able to recreate the issue you are seeing. The issue you are seeing is due to the following bug:

  • http://bugs.eclipse.org/380122

UPDATE

此问题现已在EclipseLink 2.3.3和2.4.0流中得到修复。您可以从以下位置下载包含修复程序的每晚构建:

This issue has now been fixed in the EclipseLink 2.3.3 and 2.4.0 streams. You can download a nightly build that contains the fix from the following location:

  • http://www.eclipse.org/eclipselink/downloads/nightly.php

这篇关于缺少MOXy XMLCompositeCollectionMapping描述符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆