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

tomcat插件中未加载的Servlet api

司宏伯
2023-03-14

信息:validateJarFile(C:\program Files(x86)\apache-tomcat-7.0.47\webapps\myapp\web-
inf\lib\servlet-api-2.5-6.1.11.jar)-jar未加载。参见Servlet Spe C2.3,第9.7.2节。违规类:javax/servlet/servlet.class 16-gen-2014 14.18.25 org.apache.catalina.core.standardContext startInternal grave:Error listenerStart 16-gen-2014 14.18.25 org.apache.catalina.core.standardContext startInternal grave:Context[/myapp]由于以前的错误启动失败

而如果我通过jetty:Run使用jetty,一切都正常。

这是我的插件配置

        <!-- To launch embded jetty server -->
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>${maven-jetty-plugin.version}</version>
            <configuration>
                <webAppConfig>
                    <contextPath>/${project.name}</contextPath>
                </webAppConfig>
            </configuration>
        </plugin>
    <!-- To launch embded tomcat server -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <url>http://localhost:8081/manager/text</url>
                <server>my-tomcat</server>
                <path>/MyApp</path>
            </configuration>
        </plugin>
    <!-- Spring dependencies -->
     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
    </dependency>
     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
         <exclusions>
        <!-- Exclude Commons Logging in favor of SLF4j -->
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>

 <!-- default j2ee dependencies  -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>${servlet-api.version}</version>
        <scope>provided</scope>
    </dependency>

共有1个答案

笪德华
2023-03-14

错误消息的重要部分是

信息:validateJarFile(C:\program Files(x86)\apache-tomcat-7.0.47\webapps\myapp\WEB-INF\lib\servlet-api-2.5-6.1.11.jar)-jar未加载。参见Servlet Spe C2.3,第9.7.2节。违规类:javax/servlet/servlet.class

这意味着您试图加载servlet-api-2.5-6.1.11.jar,作为包含javax.servlet.servlet定义的web应用程序的一部分。该规范的第9.7.2节指出,容器用于加载servlet的classloader不得允许WAR覆盖J2SE或Java servlet API类。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.1-alpha-2</version>
  <configuration>
  ...
    <packagingExcludes>WEB-INF/lib/javax.servlet-*.jar</packagingExcludes>
  ...
  </configuration>
</plugin>
 类似资料:
  • 我有一个项目,其中包含页面文件夹中的单个页面以及一些javascript库和代码。我将它们捆绑到WAR中并将其部署在CentOS系统中。但是当我尝试访问它时,我得到了错误。错误交替出现在 和 我在本地机器中部署它没有问题。 编辑:配置 这是CentOS中tomcat的配置,我的本地机配置相同,除了

  • 我正在使用Eclipse中的spring。当我运行我的服务器时,它显示的错误如下所示: 错误: 问题出在哪里?

  • 我正在开发一个大的应用程序,我们在代理中使用Mavem bundle插件,使其变小!我在导入一些需要的库以处理PDFbox所需的某种图像(jpeg2000和jbig2)时遇到问题。 这是我的pom(一部分) 我修复了导入包,我不再有警告了! 这是我的nethod,pdfBox使用这些库,我在try/catch块中遇到了一个异常! } 在IntelliJ中调试时,我得到了这个! 组织。阿帕奇。pdf

  • 我正试图从web应用程序连接到配置单元节约服务器(hiveserver2)。我在Eclipse中创建了dynamic web project,并在WEB-INF/lib下添加了以下JAR- null 是否有一种方法可以从hive-jdbc-0.14.0-standalone.jar或Tomcat中排除javax.servlet.servlet?

  • 我正在尝试下载Eclipse Neon中的tomcat插件。我是怎么下载的。但是当我尝试使用Windows为tomcat设置首选项时->Preferences->tomcat。它给了我下面的错误。我认为Eclipse中缺少一些插件激活器。如果你能看一下。 由:org.osgi.framework.BundleException引起:加载束激活器时出错。在org.eclipse.osgi.inter

  • 主要内容:1 如何添加Tomcat Maven插件,2 Tomcat Maven插件配置,3 使用Tomcat插件运行应用程序在本教程中,学习添加Tomcat插件并对pom.xml进行配置,使用Tomcat插件来部署Web应用程序,而无需在计算机中安装任何Tomcat。 当您想在由于某些原因无法安装实际Tomcat的开发人员的机器上测试Web应用程序时,这个插件功能非常有用。 1 如何添加Tomcat Maven插件 在pom.xml的build标签内添加插件的配置,如下: 2 Tomcat M