CXF Endpoint.publish("http://127.0.0.1:8080/helloService",
new HelloServiceImpl());发布的时候报错。
Exception in thread "main" java.lang.LinkageError: 正在从引导类加载器加载 JAXB 2.1 API, 但此 RI (来自jar:file:/D:/workspace/CFXTest1/lib/jaxb-impl-2.2.5.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) 需要 2.2 API。请使用授权目录机制将 jaxb-api.jar 放在引导类加载器中。(请参阅 http://java.sun.com/j2se/1.6.0/docs/guide/standards/)
本例中,开发环境:
eclipse Juno Release
JDK1.6
CXF2.7.0
报错的原因:简单的说,就是jar包引用错误,具体的
解决方法:
如果是java application项目,将apache-cxf-2.7.0\lib\endorsed下的jar文件,复制到Java\jdk1.6.0_03\jre\lib\endorsed目录下
如果是java web项目,则在一个servlet类(Controller、Service等)中,打印:
system.out.println(System.getProperty("java.endorsed.dirs"));
找到相应位置, 将apache-cxf-2.7.0\lib\endorsed下的jar文件放到对应目录下即可。没有endorsed目录,自己建一个。
找到相应位置, 将apache-cxf-2.7.0\lib\endorsed下的jar文件放到对应目录下即可。没有endorsed目录,自己建一个。
转载于:https://blog.51cto.com/wangyuelucky/1039696