错误:正在从引导类加载器加载JAXB 2.1 API,但此RI需要2.2 API

时间:2012-04-26 22:46:03

标签: tomcat jaxb endorsed

我正在尝试将Java Web服务部署到Tomcat 5.5.20服务器中。我将Web服务打包在Tomcat的webapps目录中的.war文件中,我可以看到.war文件在我启动Tomcat时被解压缩。

但是,当我启动Tomcat时出现以下错误:

Apr 22, 2012 5:16:31 AM com.sun.xml.ws.transport.http.servlet.WSServletContextLstener contextInitialized
INFO: WSSERVLET12: JAX-WS context listener initializing
Apr 22, 2012 5:16:31 AM com.sun.xml.ws.transport.http.servlet.WSServletContextLstener parseAdaptersAndCreateDelegate
SEVERE: WSSERVLET11: failed to parse runtime descriptor: java.lang.LinkageError: JAXB 2.1 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib/jaxb-impl.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.6.0/docs/guide/standards/)
java.lang.LinkageError: JAXB 2.1 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib/jaxb-impl.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.6.0/docs/guide/standards/)
at com.sun.xml.bind.v2.model.impl.ModelBuilder.(ModelBuilder.java:178)

在/ home / username / WebNMS / apache / tomcat / webapps / WebServices / WEB-INF / lib目录中,JAX-WS 2.2.6中的所有jar文件都包含在内,包括jaxb-api.jar。

我已经在启动Tomcat的WebNMS进程的命令中添加了“-Djava.endorsed.dirs = / home / username / WebNMS / apache / tomcat / webapps / WebServices / WEB-INF / lib”,但是没有没帮忙。

另外,我尝试在/ home / username / WebNMS / jre / lib目录中添加一个名为“endorsed”的符号链接,该链接指向/ home / username / WebNMS / apache / tomcat / webapps / WebServices / WEB-INF / lib,这也无济于事。

有趣的是,当我执行“find / home / username / WebNMS -name jaxb-api.jar”时,它只在/ home / username / WebNMS / apache /中找到一个jaxb-api.jar tomcat / webapps / WebServices / WEB-INF / lib目录。没有其他jaxb-api.jar文件。因此,当我只有JAXB 2.2.6 API jar文件时,我不知道为什么错误说正在加载JAXB 2.1 API。除非它在/ home / username / WebNMS目录之外找到一些东西,但考虑到我尝试了两种不同的方式来设置已认可的目录,这不应该发生。

0 个答案:

没有答案