java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet

一、問題描述

Eclipse + Maven 使用 tomcat7-maven-plugins 插件,Run As —> Maven Building... —> Goals: clean tomcat7:run 啓動時報錯以下:java

java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
    at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:855)
    ......

二、問題出現的可能緣由是 沒有正確配置

出現這個問題搞了兩天才好,看了網上有許多的解決辦法,奈何仍是沒能幫助我解決掉這個問題。出現的問題可能不同,這裏列一下網上答案,或許恰好能解決掉你的問題!!apache

1)多數人提供的解決方法以下 :

打開 Tomcat 配置文件 context.xml,個人爲 apache-tomcat-7.0.68\conf\context.xml 文件,在 <Context></Context> 中添加 <Loader delegate="true"/>瀏覽器

2)部分解決方法爲:

在 pom.xml 中添加依賴以下:tomcat

<dependency>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
</dependency>
<dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-catalina</artifactId>
      <version>7.0.47</version>
      <scope>provided</scope>
</dependency>

3)少部分解決方法爲:

將 WEB-INF/lib 下有關 catalina.*.jar 問價幹掉,而後重啓服務maven

三、解決方法

打開 pom.xml 文件添加配置以下:ide

<plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
            <path>/mauger</path>
            <port>8081</port>
            <uriEncoding>UTF-8</uriEncoding>
      </configuration>
</plugin>

注意不要將 tomcat7-maven-plugin 配置到依賴 <dependencies>ui

配置完後先 右鍵項目,選擇 Maven —> Update project...插件

最後使用在本地啓動服務: 右鍵項目 / pom.xml 選擇 Debug As / Run As —> Maven build... —> Goals: clean tomcat7:runcode

若控制檯沒有報錯的話,就能夠在瀏覽器中訪問了:http://localhost:8081/mauger`xml

相關文章
相關標籤/搜索