eclipse IllegalArgumentException:名为 [AdminController] 和 [muShag.Private.controller.AdminController] 的 servlet 都映射到 url-pattern
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/17886273/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
IllegalArgumentException: The servlets named [AdminController] and [muShag.Private.controller.AdminController] are both mapped to the url-pattern
提问by Mrug
I created an application in JAVA 7 with Tomcat 7 in Eclipse Juno.It was running perfectly at that time but after some days it stopped working. now whenever i am trying to run that application it shows error as:
我在 Eclipse Juno 中使用 Tomcat 7 在 JAVA 7 中创建了一个应用程序。它当时运行良好,但几天后它停止工作。现在,每当我尝试运行该应用程序时,它都会显示以下错误:
SEVERE: A child container failed during start java.util.concurrent.ExecutionException:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MuShag]] at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MuShag]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 7 more Caused by: java.lang.IllegalArgumentException: The servlets named [AdminController] and [muShag.Private.controller.AdminController] are both mapped to the url-pattern [/AdminController] which is not permitted at org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:335) at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2412) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2125) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2080) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2073) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2073) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2073) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1300) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5179) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 more 26 Jul, 2013 9:36:50 PM
SEVERE: A child container failed during start java.util.concurrent.ExecutionException:
org.apache.catalina.LifecycleException:无法在 java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) 的 java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) 启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MuShag]]。 concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org. apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild。 call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent。ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 引起:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MuShag]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 7 更多 引起:java.lang.IllegalArgumentException:名为 [AdminController] 和 [muShag.Private.controller.AdminController] 的 servlet 都映射到 org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:335) 不允许的 url 模式 [/AdminController] ) 在 org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2412) 在 org.apache.catalina.startup。ContextConfig.processAnnotationsStream(ContextConfig.java:2125) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2080) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2073) at org .apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2073) 在 org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2073) 在 org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig) .java:1300) 在 org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) 在 org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369) 在 org.apache.catalina。 util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 在 org.apache.catalina.util。LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5179) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) .. . 7 更多 2013 年 7 月 26 日晚上 9:36:50
Now how can handle these errors. after surfing too much at some place i got a way by adding commons-looging.jar, but it doesnot worked.
现在如何处理这些错误。在某个地方冲浪太多后,我通过添加 commons-looging.jar 获得了一种方法,但它不起作用。
回答by JB Nizet
The error message says it all:
错误消息说明了一切:
The servlets named [AdminController] and [muShag.Private.controller.AdminController] are both mapped to the url-pattern [/AdminController] which is not permitted.
名为 [AdminController] 和 [muShag.Private.controller.AdminController] 的 servlet 都映射到不允许的 url-pattern [/AdminController]。
Fix your web.xml or your annotations so that those two servlets are not mapped to the same url-pattern, or so that only one of those servlets is defined.
修复您的 web.xml 或您的注释,以便这两个 servlet 不会映射到相同的 url-pattern,或者只定义这些 servlet 中的一个。