eclipse运行javaweb项目启动tomcat时报错

eclipse运行javaweb项目启动tomcat时报错:

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/employee]]
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:873)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:921)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:757)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/employee]]
	at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:419)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:186)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
	... 19 more
Caused by: java.lang.IllegalArgumentException: 名为 [IndexServlet]和 [com.servlets.IndexServlet] 的servlet不能映射为一个url模式(url-pattern) [/IndexServlet]
	at org.apache.tomcat.util.descriptor.web.WebXml.addServletMappingDecoded(WebXml.java:354)
	at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:347)
	at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2539)
	at org.apache.catalina.startup.ContextConfig.processClass(ContextConfig.java:2244)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2233)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:2143)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:2138)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:2138)
	at org.apache.catalina.startup.ContextConfig.processClasses(ContextConfig.java:1351)
	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1261)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:961)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:290)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:114)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4796)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
	... 25 more

此时双击运行startup.bat依旧正常

原因

在web.xml中配置了文件路径,同时又在文件中使用注解@WebServlet("/IndexServlet")配置了路径

解决方法

删除注解或是删除web.xml中配置的路径

posted @ 2024-05-07 08:40  wangjq6  阅读(18)  评论(0编辑  收藏  举报