我正在使用 JBoss 5.1 (EAP)。我正在使用 Spring Web 服务(3.0.5)。对于编组,我使用的是 JaxB。
我正在使用 maven.jaxb2.plugin 从架构(xsd)生成 pojo。
当我在 JBoss 上部署 EAR 时,我收到以下错误:
19:05:52,524 错误 [[eventmanager-ws]] 为 servlet eventmanager-ws 分配异常 com.sun.xml.bind.v2.runtime.IllegalAnnotationsException:1 计数 IllegalAnnotationExceptions javax.activation.DataHandler 没有无参数默认构造函数。 此问题与以下位置有关: 在 javax.activation.DataHandler 在受保护的 javax.activation.DataHandler uk.co.aol.shipmanager.ws.schema.ReportResponse.data 在 uk.co.aol.shipmanager.ws.schema.ReportResponse 在公共 uk.co.aol.shipmanager.ws.schema.ReportResponse uk.co.aol.shipmanager.ws.schema.ObjectFactory.createReportResponse() 在 uk.co.aol.shipmanager.ws.schema.ObjectFactory 在 com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.j>ava:102) 在 com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:472) 在 com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:302) 在 com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1136) 在 com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154) 在 com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:121) 在 com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:202) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:128) 在 javax.xml.bind.ContextFinder.find(ContextFinder.java:277) 在 javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372) 在 javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337) 在 org.springframework.oxm.jaxb.Jaxb2Marshaller.createJaxbContextFromContextPath(Jaxb2Marshaller.java:>355) 在 org.springframework.oxm.jaxb.Jaxb2Marshaller.getJaxbContext(Jaxb2Marshaller.java:328) 在 org.springframework.oxm.jaxb.Jaxb2Marshaller.afterPropertiesSet(Jaxb2Marshaller.java:317) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingleto>BeanRegistry.java:222)
我检查了 jaxb2 插件版本并尝试使用以前的版本,假设 JBoss 获得了 JaxB 2.1.12,尝试了很多版本但没有运气。
有什么建议么?
谢谢,阿迪