目录启动CXF启动报告LinkageError异常以及Java的endorsed机制

摘要:
宽容是一种豁达,比海阔天空更宽广,是一种博大而慷慨的叠加、延续和升华。宽容、慷慨、无价和宽容是生活的基本准则-------------------------------目录和启动原创文章---------------------------------

本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~

Exception in thread "main" java.lang.LinkageError: JAXB 2.1 API is being loaded from the bootstrap classloader,
but this RI (from jar:file:/C:/apache-cxf-2.5.2/lib/jaxb-impl-2.2.4-1.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.2 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/)
翻译:Jaxb2.1的API正在从根类加载器中加载,但这个参考实现(jaxb-impl-2.2.4-1.jar)须要一个2.2的API
      请使用endorsed目录机制来替换掉根类加载器中的jaxb-api.jar,请参考http://java.sun.com/j2se/1.5.0/docs/guide/standards/
分析:这是因为JDK启动时加载的是自带的jaxb-api-2.1.jar,而CXF须要用到的是jaxb-api-2.2.jar,于是报错
    每日一道理
宽容,是一种坦荡,可以无私无畏,无拘无束,无尘无染。宽容,是一种豁达,是比海洋和天空更为博大的胸襟,是宽广和宽厚的叠加,延续和升华。宽容有度,宽容无价,宽以待人,这是人生处世的基本法则。
注意:1)不是让你去下载jaxb-api.jar,而是应该下载jaxb-api-2.2.jar
        该jar可从https://jaxb.java.net/下载,或从apache-cxf-2.5.2.zipapache-cxf-2.5.2libendorsed目录中获得
      2)不是让你把下载到的jar放到%JAVA_HOME%/lib/endorsed/目录下,而是应该自己找到正确的目录
目录:找到正确目录的方法,还要根据JavaProject还是JavaWebProject而不同
      1)如果是JavaProject就简略多了,直接在main方法里执行System.out.println(System.getProperty("java.endorsed.dirs"));
        我的电脑上表现的目录地址是这个D:DevelopJavajdk1.6.0_45jrelibendorsed
      2)如果是JavaWebProject就要启动一个没有用到jaxb的Web项目,然后在jsp中执行<%=System.getProperty("java.endorsed.dirs")%>
        我的电脑上表现的目录地址是这个D:Developapache-tomcat-6.0.36/common/endorsed
解决:有两种解决方法
      1)第一种就是把jaxb-api-2.2.jar放到下面找到的正确的endorsed目录中,即可
      2)第二种是相对使用Eclipse启动JavaProject而言的
        main-->Run As-->Open Run Dialog或者Run Configurations-->Arguments-->VM arguments中输入下面参数-->Apply-->close
	-Djava.endorsed.dirs=C:apache-cxf-2.5.2libendorsed
	然后重新运行main方法即可

文章结束给大家分享下程序员的一些笑话语录: 看到有人回帖“不顶不是中国人”,他的本意是想让帖子沉了。

--------------------------------- 原创文章 By
目录和启动
---------------------------------

免责声明:文章转载自《目录启动CXF启动报告LinkageError异常以及Java的endorsed机制》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ABP使用及框架解析系列DGL学习(三): 消息传递教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WebService与CXF

一:Webservice  1:WebService是干什么的?有什么用? 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用规范。 比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率 从表面上看,W...

namenode无法启动(namenode格式化失败)

格式化namenode root@node04 bin]# sudo -u hdfs hdfs namenode –format 16/11/14 10:56:51 INFO namenode.NameNode: STARTUP_MSG: /*******************************************************...

spring+cxf 开发webService(主要是记录遇到spring bean注入不进来的解决方法)

这里不介绍原理,只是记录自己spring+cxf的开发过程和遇到的问题 场景:第三方公司需要调用我们的业务系统,以xml报文的形式传递数据,之后我们解析报文存储到我们数据库生成业务单据; WebService的框架由多种,这里选cxf,与Spring的集成比较好; 直接看代码 1项目用的maven,首先添加依赖(这个依赖啊 ,教程引用几个的都有,这个看需要...

JAXB的介绍(转载)

< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 一、前言。最近正在做一个项目,根据需求计划需要一种Object <--> XML的工具,而JAXB就非常符合需求,于是以下是近天来的研究心得。 二、JAXB技术介绍 1.什么是JAX...

java生成解析xml的另外两种方法JAXB

   JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示...

WebService的讲解 和 CXF 的初步使用

1. 复习准备 1.1. Schema约束 几个重要知识: namespace 相当于schema文件的id targetNamespace属性 用来指定schema文件的namespace的值 xmlns属性 引入一个约束, 它的值是一个schema文件的namespace值 schemaLocation属性 用来指定引入的schema文件的位置...