1、問題描述
Eclipse + Maven 使用 tomcat7-maven-plugins
插件,Run As —> Maven Building... —> Goals: clean tomcat7:run
啟動時報錯如下:
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:855)
......
2、問題出現的可能原因是 沒有正確配置
出現這個問題搞了兩天才好,看了網上有許多的解決辦法,奈何還是沒能幫助我解決掉這個問題。出現的問題可能不一樣,這里列一下網上答案,或許剛好能解決掉你的問題!!
1)多數人提供的解決方法如下 :
打開 Tomcat 配置文件 context.xml
,我的為 apache-tomcat-7.0.68\conf\context.xml
文件,在 <Context></Context>
中添加 <Loader delegate="true"/>
2)部分解決方法為:
在 pom.xml 中添加依賴如下:
<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
問價干掉,然后重啟服務
3、解決方法
打開 pom.xml 文件添加配置如下:
<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>
中
配置完后先 右鍵項目,選擇 Maven —> Update project...
最后使用在本地啟動服務: 右鍵項目 / pom.xml 選擇 Debug As / Run As —> Maven build... —> Goals: clean tomcat7:run
若控制台沒有報錯的話,就可以在瀏覽器中訪問了:http://localhost:8081/mauger`