`

解决JDK1.6与CXF的兼容问题

阅读更多

     昨天下午将之前所写的CXF demo翻出来给一同事参考,由于我们机器之间的JDK版本不一致(我的1.5,他的1.6)导

致了在部暑运行过程出现了异常,异常信息如下:

 

 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructor threw exception; nested exception is java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/apache-tomcat-6.0.20/webapps/were/WEB-INF/lib/jaxb-impl-2.1.12.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:883)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)

at java.security.AccessController.doPrivileged(Native Method)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)

at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)

at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)

at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987)

at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909)

at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495)

at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)

at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:516)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:583)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructor threw exception; nested exception is java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/apache-tomcat-6.0.20/webapps/were/WEB-INF/lib/jaxb-impl-2.1.12.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)

at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:115)

at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)

... 40 more

Caused by: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/apache-tomcat-6.0.20/webapps/were/WEB-INF/lib/jaxb-impl-2.1.12.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)

at com.sun.xml.bind.v2.model.impl.ModelBuilder.<clinit>(ModelBuilder.java:173)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:456)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:302)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1136)

at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)

at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:121)

at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:202)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132)

at javax.xml.bind.ContextFinder.find(ContextFinder.java:286)

at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)

at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)

at org.apache.cxf.wsdl.JAXBExtensionHelper.createJAXBContext(JAXBExtensionHelper.java:196)

at org.apache.cxf.wsdl.JAXBExtensionHelper.getJAXBContext(JAXBExtensionHelper.java:183)

at org.apache.cxf.wsdl.JAXBExtensionHelper.addExtensions(JAXBExtensionHelper.java:168)

at org.apache.cxf.wsdl.JAXBExtensionHelper.addExtensions(JAXBExtensionHelper.java:88)

at org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialExtensions(WSDLManagerImpl.java:239)

at org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialExtensions(WSDLManagerImpl.java:219)

at org.apache.cxf.wsdl11.WSDLManagerImpl.<init>(WSDLManagerImpl.java:109)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)

... 42 more

2010-5-14 17:13:37 org.apache.catalina.core.StandardContext start

ÑÏÖØ: Error listenerStart

2010-5-14 17:13:37 org.apache.catalina.core.StandardContext start

 

 

 

  从这句报错信息上来看:nested exception is java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/apache-tomcat-6.0.20/webapps/were/WEB-INF/lib/jaxb-impl-2.1.12.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API,好像是说我所使用的jaxb-api.jar包版本不对,但这程序在我机器中(jdk版本1.5下)运行是完全没问题的,所以确定此异常与jaxb-api.jar包版本是无关的,而是与JDK的版本有关。

 

 后面经过google一把,找到了解决方案,在JDK安装目录lib目录下新建endorsed目录($JAVA_HOME/lib/endorsed)

并将jaxws-api.jarjaxb-api.jar包(见附件)拷贝到其目录下就可解决了。

 

 

 

分享到:
评论
6 楼 haitaohehe 2011-03-17  
怪了 我也有这问题 加了jar还是有问题啊...
5 楼 cectsky 2011-02-22  
288888 写道
楼主你好
  我在Java\jdk1.6.0\lib\endorsed建了endorsed目录,并把两个jar都放到了此目录下还是抛这个异常不知道怎么解决

同问?????
4 楼 288888 2011-01-09  
楼主你好
  我在Java\jdk1.6.0\lib\endorsed建了endorsed目录,并把两个jar都放到了此目录下还是抛这个异常不知道怎么解决
3 楼 chella 2010-09-02  
更新到jdk1.6u11就可以了
2 楼 h521999 2010-05-15  
两个目录无论哪个都可以呀
1 楼 devworks 2010-05-15  
是在jre\lib目录下。

相关推荐

    jdk1.6集成jjwt的问题

    标题中的“jdk1.6集成jjwt的问题”指的是在Java Development Kit (JDK) 版本1.6的环境下,尝试整合JSON Web Token (JWT) 库jjwt时遇到的挑战。JWT是一种开放标准(RFC 7519),用于在各方之间安全地传输信息作为 ...

    解决JDK1.6下的Base64报错问题

    在资源文件中的`解决JDK1.6下的Base64.jar`可能是包含了一个兼容JDK 1.6的Base64实现的第三方库,你可以直接将这个jar包添加到你的项目类路径中,这样就可以使用其中提供的Base64类而无需修改代码。添加方法通常包括...

    苹果电脑安装jdk1.6 mac for jdk1.6 jdk6 安装版

    mac for jdk1.6 jdk6 安装版 里面有两个jdk1.6的安装包,都可以用 如果电脑上安装有1.7,1.8等高版本jdk就不要再下安装包了,安装包安装会报错 命令是这个:brew install java6或 brew install homebrew/cask-...

    如何解决JDK1.6下的Base64

    提供的压缩包文件"解决JDK1.6下的Base64.txt"可能包含了如何集成和使用这些第三方库的详细步骤,或者可能是自定义的Base64实现。在实际应用中,你需要根据文件内容来调整你的项目配置。 总的来说,尽管JDK 1.6没有...

    CXF2.6.4配java1.6版完整包和使用说明

    - **使用说明**:这可能是一个详细的文档,指导如何配置CXF,创建服务,以及如何解决常见的问题和挑战。它可能涵盖了从安装到调试的全过程,是初学者的重要参考资料。 使用CXF 2.6.4时,你需要关注Java版本的兼容性...

    aspose-words-15.8.0-jdk1.6

    aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-...

    okhttp3.8源码使用jdk1.6重新编译_okhttp3.8.0-jdk1.6.zip

    1.okhttp3.8源码使用jdk1.6重新编译,已集成了okio,在javaweb项目中使用,未在安卓项目中使用 2.okhttp3.8源码使用jdk1.6重新编译_okhttp3.8.0-jdk1.6.jar

    JDK1.6版本下载

    **JDK 1.6版本详解** Java Development Kit(JDK)是Oracle公司提供的用于开发和运行Java应用程序的工具集合。...对于那些需要在旧系统上运行或兼容JDK 1.6的应用来说,了解并掌握这个版本的特性至关重要。

    okhttp3.8.0-jdk1.6.zip

    这次发布的3.8.0版本特别强调了对JDK1.6的兼容性,对于那些无法或不愿意升级JDK的项目来说,这是一个重要的福音。 OkHttp的核心特性包括: 1. **连接池**:OkHttp通过维护长连接来减少网络延迟,提高响应速度。它...

    jdk1.6压缩包,下载即用

    - **下载**:从Oracle官网或其他可信源下载JDK 1.6的安装文件,如"jdk1.6.exe"。 - **安装**:双击执行安装文件,按照向导步骤进行安装,选择合适的安装路径。 - **环境变量设置**:安装完成后,需要在系统环境变量...

    jdk1.6解决base64

    本篇文章主要针对JDK 1.6环境下Sun提供的Base64编码功能不可用的问题,并提出了解决方案。 ### JDK 1.6 Base64 编码问题 #### Sun的Base64编码问题 在JDK 1.6中,Sun提供了自己的Base64编码类`sun.misc.BASE64...

    jdk1.6 32位免安装纯绿色版

    然而,在某些特殊情况下,如旧项目维护或与特定版本的软件兼容性需求,仍然可能需要使用JDK 1.6。 总的来说,这个JDK 1.6 32位免安装纯绿色版是一个便捷的开发工具,适用于那些需要快速部署Java环境或者仍在维护...

    JDK1.6百度云下载

    根据提供的标题、描述以及部分内容,我们可以总结出与JDK1.6百度云下载相关的几个重要知识点: ### 一、JDK1.6简介 Java Development Kit(简称JDK)是Sun Microsystems公司针对Java语言开发的一套开发工具包,它...

    jdk1.6 解压版-windows

    JDK1.6是Oracle公司发布的一个较早版本,适用于Windows操作系统。在这个解压版中,用户无需进行安装过程,可以直接在Windows环境下使用JDK的各个工具。 JDK1.6包含的主要组件有: 1. **Java编译器**(javac):...

    jdk1.6jar包

    JDK 1.6.0_39是该版本的一个更新,主要修复了安全性和性能上的问题,以提供更稳定和安全的开发环境。 **JDK 1.6的关键特性** 1. **改进的性能**:JDK 1.6通过优化JVM和类加载机制,提升了运行时的性能,尤其是对于...

    jdk1.6解压版(免安装版)

    Java Development Kit(JDK)是Java编程语言的...JDK1.6虽然现在已经不是最新的版本,但因其稳定性和兼容性,仍被一些老项目和特定环境所使用。理解如何安装和配置这样的免安装版JDK是每个Java开发者的基础技能之一。

    jdk 1.6 64位

    2. **增强的Swing组件**:Swing UI库在1.6版本中得到了加强,提供了更丰富的组件和更好的外观与感觉,同时提高了性能和可访问性。 3. **NIO.2文件系统API**:Java 7引入了NIO.2,但在JDK 1.6中已经预览了一些功能,...

    IBMJDK1.6linux.zip

    在使用IBM JDK 1.6进行开发时,开发者需要注意兼容性问题,因为随着时间的推移,新的Java版本可能会弃用旧的功能。同时,虽然IBM JDK提供了性能优势,但在某些特定场景下,可能需要与Oracle JDK进行对比测试,以确定...

    zxing jar包,支持jdk1.6,包括源码

    ZXing(Zebra Crossing...总之,ZXing库是一个强大的条形码和二维码工具,这个特别适配JDK1.6的版本为那些仍在使用旧Java环境的项目提供了解决方案。通过提供的源码,开发者可以灵活地修改和扩展功能,以满足特定需求。

    jdk1.5 jdk1.6 反编译 工具

    标题中的“jdk1.5 jdk1.6 反编译 工具”指的是用于对Java字节码进行反编译的软件,这类工具能够将Java的.class文件转换回可读的.java源代码形式,这对于理解和学习已有的Java类库或者进行逆向工程非常有帮助。...

Global site tag (gtag.js) - Google Analytics