我刚开始使用Eclipse Servlet,在尝试在服务器上运行动态Web项目时出现此错误:
Jan 22, 2016 7:16:51 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:couchfriendslsrs' did not find a matching property.
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/7.0.67
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Dec 7 2015 13:07:11 UTC
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 7.0.67.0
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 8.1
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 6.3
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: C:Program FilesJavajdk1.8.0_71jre
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_71-b15
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: C:Programming FilesEclipseJEE.metadata.pluginsorg.eclipse.wst.server.coretmp0
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: C:Program FilesApache Tomcatapache-tomcat-7.0.67-windows-x64apache-tomcat-7.0.67
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:Programming FilesEclipseJEE.metadata.pluginsorg.eclipse.wst.server.coretmp0
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:Program FilesApache Tomcatapache-tomcat-7.0.67-windows-x64apache-tomcat-7.0.67
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:Programming FilesEclipseJEE.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebapps
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:Program FilesApache Tomcatapache-tomcat-7.0.67-windows-x64apache-tomcat-7.0.67endorsed
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Jan 22, 2016 7:16:51 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:Program FilesJavajdk1.8.0_71bin;C:windowsSunJavabin;C:windowssystem32;C:windows;C:/Program Files/Java/jre1.8.0_71/bin/server;C:/Program Files/Java/jre1.8.0_71/bin;C:/Program Files/Java/jre1.8.0_71/lib/amd64;C:ProgramDataOracleJavajavapath;C:windowssystem32;C:windows;C:windowsSystem32Wbem;C:windowsSystem32WindowsPowerShellv1.0;C:Program FilesMATLABR2014abin;C:Program Files (x86)Windows LiveShared;C:Program Filesnodejs;C:Program Files (x86)SkypePhone;C:Userss142966AppDataLocalatombin;C:Userss142966AppDataRoamingnpm;C:Program Fileseclipse-jee-kepler-R-win32-x86_64;;.
Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 479 ms
Jan 22, 2016 7:16:51 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 22, 2016 7:16:51 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.67
Jan 22, 2016 7:16:51 PM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/couchfriendslsrs]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1122)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/couchfriendslsrs]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.IllegalArgumentException: The servlets named [action_edit_profile] and [ro.lsrs.couchfriends.controllers.ActionEditProfile] are both mapped to the url-pattern [/action_edit_profile] which is not permitted
at org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:293)
at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2443)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2118)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2079)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2072)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2072)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2072)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2072)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1304)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5479)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Jan 22, 2016 7:16:51 PM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1122)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:739)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:693)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1130)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:693)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:739)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1130)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jan 22, 2016 7:16:51 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
信息:
- 在jdk1.8.0_71上运行项目和服务器。
- C:\PathToWorkspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 显示项目名称。
关于 url 错误:
The servlets named [action_edit_profile] and [ro.lsrs.couchfriends.controllers.ActionEditProfile] are both mapped to the url-pattern [/action_edit_profile] which is not permitted
,因此设置了 web.xml 文件(错误中给出的 servlet 示例):<servlet> <servlet-name>action_edit_profile</servlet-name> <servlet-class>ro.lsrs.couchfriends.controllers.ActionEditProfile</servlet-class> </servlet> <servlet-mapping> <servlet-name>action_edit_profile</servlet-name> <url-pattern>/action_edit_profile</url-pattern> </servlet-mapping>
编辑:关于这个问题的可能重复,这不是同一个问题。我的问题是网址冲突(在xml和java类中设置映射)。相反,这个问题帮助我解决了这个问题。
java.lang.ClassNotFoundException: HttpServletRequest
试试这个。
tomcat 是否在没有部署应用程序的情况下启动?
事实上,正如注释中提到的,问题在于 servlet 以相同的 url 模式映射。我不得不在 web 中注释多个<servlet-mapping>
块.xml才能运行服务器。
这里也回答了这个问题,其中 answerer 解释说在 web.xml 和 java 类中映射都会导致此错误。