当前位置: 首页 > 知识库问答 >
问题:

在Tomcat 7中部署JAX-WS webapp

钮晟
2023-03-14

我正在开发简单的JAX-WS WebService。我正在使用ANT构建脚本创建WAR文件。该文件在部署到Tomcat7服务器时,抛出以下异常,并出现如下部署错误。

JAXB 2.1 API是从bootstrap classloader加载的,但是这个RI(从jar:file:/d:/dreamsoln/server/apache-tomcat-7.0.29/webapps/webservicedemo/WEB-INF/lib/jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/modelbuilder.class)需要2.2 API。使用认可的目录机制将jaxb-api.jar放置在引导类加载器中。

我安装了JDK1.6,尝试了背书机制,即创建lib/ensorded目录,并在其中复制jaxb-api.jar和jaxws-api.jar。但它仍然不起作用。

我需要从Web-app的WEB-INF/lib中删除jaxb-api.jar和jaxws-api.jar吗?

还需要做什么?

共有1个答案

敖和韵
2023-03-14

我认为您没有正确地支持tomcat库。在以前的tomcat版本中使用lib/ensorded文件夹(如果我没记错的话,就像Tomcat5.5),但是在新版本中(Tomcat6和以后的版本),ensorded lib通常位于 /ensorded (如果它不存在,则必须创建它)。

实际上,tomcat使用系统属性java.endorsed.dirs来定义认可的文件夹位置。因此,请在您的tomcat安装中检查此值。

这个怎么查?在应用程序中的任何servlet/Listener中打印此属性。

public class WebappLoadListener implements ServletContextListener {

    public void contextDestroyed(ServletContextEvent arg0) {
    }

    public void contextInitialized(ServletContextEvent arg0) {
        System.out.println("\n\n\n ENDORSED DIR: " +System.getProperty("java.endorsed.dirs"));      
    }
}
 类似资料:
  • 我正试图将一个。war项目部署到我的tomcat7安装中。 我使用的是Ubuntu12.04和Tomcat7。

  • 知道如何在变化时重新部署html和jsp吗?

  • 我有一个EC2实例在新加坡地区运行AMI:ElasticBeanstek-Tomcat7-64bit-201208231200(ami-0cdc9d5e),我正在尝试在其中部署一个war文件。我遵循的步骤是: 复制了 /opt/tomcat7/webapps文件夹中的war文件 将war文件的所有者更改为tomcat7 将war文件的权限更改为777 启动tomcat7服务器 我已经配置了安全组,

  • 我对tomcat很熟悉。我们使用服务器在eclipse中创建一个项目。xml和一些。配置文件。我们生成。战争档案。我们将这个war文件复制到我们的生产服务器webapps文件夹中,然后在webapps文件夹中生成一个同名的新文件夹。我们在那里更改生产服务器配置(在文件夹中)。 我们的一个客户想在他的JBoss服务器上部署war。我们试图通过将war复制到/standalone/deployment

  • 我已经使用JAXWS开发了一个Web服务,并且能够在Tomcat7上从eclipse运行它,没有任何问题。 但我的问题是如何在Apache war文件中部署它。每当我在服务器上运行时,它都会出现异常严重:WSSERVLET11:无法解析运行时描述符:java。lang.NoClassDefFoundError:org/glassfish/ha/store/api/BackingStoreExcep