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

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.zip\apache-cxf-2.5.2\lib\endorsed目录中获得
2)不是让你把下载到的jar放到%JAVA_HOME%/lib/endorsed/目录下,而是应该自己找到正确的目录
目录:找到正确目录的方法,还要根据JavaProject还是JavaWebProject而不同
1)如果是JavaProject就简略多了,直接在main方法里执行System.out.println(System.getProperty("java.endorsed.dirs"));
我的电脑上表现的目录地址是这个D:\Develop\Java\jdk1.6.0_45\jre\lib\endorsed
2)如果是JavaWebProject就要启动一个没有用到jaxb的Web项目,然后在jsp中执行<%=System.getProperty("java.endorsed.dirs")%>
我的电脑上表现的目录地址是这个D:\Develop\apache-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.2\lib\endorsed
然后重新运行main方法即可

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

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

目录启动CXF启动报告LinkageError异常以及Java的endorsed机制的更多相关文章

  1. Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出

    Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出 package com.test; import org.apach ...

  2. mysql 5.7 非正常安装,无法启动 服务没有报告任何错误

    以前,完整安装mysql5.7程序时,由于程序太大,可以将安装缓存目录中的安装文件(较小)复制出来后,留以后使用. mysql--win32.msi 2 mysql-5.7.17-winx64.msi ...

  3. Linux MySQL 常见无法启动或启动异常的解决方案

    Linux MySQL 常见无法启动或启动异常的解决方案 在 Linux 上自建 MySQL 服务器,经常遇到各种无法启动或启动后异常的问题,本文列举一些常见问题的解决办法. 注意:以下错误日志提示, ...

  4. Mysq 5.7l服务无法启动,没有报告任何错误

    昨天系统崩溃了,然后重装了Mysql 5.7 安装步骤和遇到问题及解决方案. 去官网下载Mysql 5.7的解压包(zip),解压到你要安装的目录. 我的安装目录是:D:\Java\Mysql 安装步 ...

  5. 启动storm任务时,异常提示

    启动storm任务时,异常提示: 14182 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2000] WARN o.a.s.s.o.a.z.s.NIOServerCnx ...

  6. net start Mysql 启动服务时 ,显示"Mysql服务正在启动 Mysql服务无法启动 服务没有报告任何错误

    一.问题 有时候,输入net start Mysql 启动服务时 mysql>net start Mysql 显示 Mysql服务正在启动 Mysql服务无法启动 服务没有报告任何错误 二.原因 ...

  7. springboot启动异常:java.lang.IllegalArgumentException: Could not resolve placeholder 'xxx.xxx.xxx' in value "${xxx.xxx.xxx}"

    场景: 本地启动正常,部署到服务器上启动时启动tomcat失败,显示上面的问题. 原因: 本地打包的时候没有修改指定的配置文件名称(本地只有一份配置文件). 在打包到服务器上时指定的配置文件命名会去查 ...

  8. 老李推荐:第5章3节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 启动脚本

    老李推荐:第5章3节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 启动脚本   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性 ...

  9. Tomcat启动报错:StandardServer.await: create[8005] java.net.BindException: Cannot assign requested address

    Tomcat启动报错:StandardServer.await: create[8005] java.net.BindException: Cannot assign requested addres ...

随机推荐

  1. Ruby网络服务

    #require 'net/http' #p Net::HTTP.get_response(URI.parse('http://www.kuaiyoujia.com')){|res| # puts r ...

  2. FileReader乱码

    出现原因:FileReader读取文件的过程中,FileReader继承了InputStreamReader,但并没有实现父类中带字符集参数的构造函数,所以FileReader只能按系统默认的字符集来 ...

  3. mybatis返回HashMap结果类型与映射

    <!-- 返回HashMap结果 类型--> <!-- 如果想返回JavaBean,只需将resultType设置为JavaBean的别名或全限定名 --> <!-- T ...

  4. hdu1998 bjfu1272奇数阶幻方构造

    这题就是一个sb题,本来很水,硬是说得很含混.奇数阶幻方构造其实有好多方法,这题既不special judge,也不说清楚,以为这样能把水题变成难题似的,简直想骂出题人. /* * Author : ...

  5. UITableView 点击展开的实现

    推介看下这里的 内容  http://www.cnblogs.com/kenshincui/p/3931948.html IOS8 above UITabliViewCell 利用 autolayou ...

  6. IOS 本地通知UILocalNotification

    //发送通知    UILocalNotification *notification=[[UILocalNotification alloc] init];       if (notificati ...

  7. 基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址

    转载请说明原出处,谢谢~~ 前些日子用wke内核封装了duilib的webkit浏览器控件,好多群里朋友私聊我希望可以我公布源码,今天把这个控件的源码和使用demo公布.其实这个控件封装起来没什么难度 ...

  8. LeetCode题解——3Sum

    题目: 给定一个数组,找出其中和为0的所有3个数的组合.每个组合的3个数都是非递降的. 解法: 先排序再遍历,设置3个指针,第一个依次遍历,第二三个在第一个指针后面的部分里,左右夹逼查找和为第一个数的 ...

  9. Tkinter教程之Listbox篇

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1811310 #Tkinter教程之Listbox篇#Listbox为列表框控件,它可以包含一个 ...

  10. 复习C语言

    今天突然有感觉复习下C语言了,发现已经好久没有用过C编程了,话说最近都没有编过程序了都,趁现在还有点时间,好好学习下C了.话不多说上题目 请定义一个宏,比较两个数a.b的大小,不能使用大于.小于.if ...