![](/img/trans.png)
[英]Enum “does not have a no-arg default constructor” with Jaxb and cxf
[英]What might cause “JAXBElement Does not have a no-arg default constructor”?
我正在生成一个罐子,它将被放入商业软件产品中。 该jar符合商业软件的api,并依赖于第二个jar,其中包含(除其他外)从XSD生成的一组POJO。 但是,当我将其放入时尝试实例化JAXBContext时,它会失败。
我明白了:
"1 counts of IllegalAnnotationExceptions"
javax.xml.bind.JAXBElement does not have a no-arg default constructor.
this problem is related to the following location:
at javax.xml.bind.JAXBElement
at mypackage.MyClass
...
JAXBContext.newInstance("mypackage");
...
我的XSD(简洁总结)如下所示:
<xsd:schema ... >
<xsd:element name="MyClass" type="myType" />
<xsd:complexType name="myType">
...
</xsd:complextType>
</xsd:schema>
我想也许问题是“xsd:element”级别的类不存在,但是即使我将XJC设置为创建MyClass并且我已经验证MyClass有一个公共的无参数构造函数,问题仍然存在。
所以,我已经看过其他几个SO问题(实际上是整个互联网)。 他们都没有给我足够的理解来解决这个问题,这可能只是对我的反思。 任何人都能有所了解吗? 或者给我另外的测试来打破这个?
最终,此问题是由已修复的错误引起的。 我加载的系统使用库JAXB-2.0,我认为我使用的是最新版本(JAXB-2.2.5)。 由于设计糟糕的插件框架,我的版本被2.0 jar抢先一步。
为了解决这个问题,我必须升级商业软件库,或尝试使用类加载器
感谢所有帮助我找到这个的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.