LinkageError JAXB 2.0 - > 2.1(Tomcat)

Bar*_*lom 8 java tomcat jaxb endorsed

我在尝试访问在tomcat中运行的webservice时遇到此错误.

引起:java.lang.LinkageError:正在从引导类加载器加载JAXB 2.0 API,但是这个RI(来自jar:file:/ C:/ software/tomcat6/webapps/messaging/WEB-INF/lib/jaxb-impl) -2.1.5.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class)需要2.1 API.使用endorsed目录机制将jaxb-api.jar放在bootstrap类加载器中.(见http://java.sun.com/j2se/1.5.0/docs/guide/standards/)

我用google搜索错误并做了应该解决的问题(我把jaxb-api.jar,版本2.1放在JDK/lib/endorsed和JDK/jre/lib/endorsed中),但它似乎没有任何效果.

我之前没有,我不确定改变了什么.我使用的是JDK 6u10.

and*_*dri 8

Java 6u10包含JAXB 2.1,因此根本不需要包含它(它自6u4以来就被包含在内).

现在,您看起来在Web应用程序中包含的JAXB与JRE附带的捆绑JAXB之间存在冲突.您可以尝试从webapp(C:/software/tomcat6/webapps/messaging/WEB-INF/lib/jaxb-impl-2.1.5.jar)中删除JAXB jar 并依赖内置版本.