【问题标题】:Could not run tomcat in Eclipse neon无法在 Eclipse neon 中运行 tomcat
【发布时间】:2016-08-10 14:36:01
【问题描述】:

当我尝试在 eclipse neon 中启动 tomcat 9.0 时遇到了这个问题。
前几天部署了一些简单的demo,tomcat可以运行良好。 但是这些天我在尝试运行jsp页面或仅尝试在eclipse中启动tomcat时遇到了这个问题。
更重要的是,有几次,我可以重新启动tomcat并再次在服务器上运行jsp页面。但大多数时候我无法成功运行 tomcat。
我不知道为什么会发生这个错误。我试图重新安装tomcat,但不工作:(。 我是javaweb的初学者,请帮我解决这个问题。

来自控制台的错误消息:

August 10, 2016 9:25:18 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:UserMVC02' did not find a matching property.
August 10, 2016 9:25:18 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSPTags' did not find a matching property.
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/9.0.0.M9
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Jul 4 2016 18:22:47 UTC
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         9.0.0.0
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Mac OS X
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            10.11.6
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          x86_64
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             /Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/jre
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_73-b02
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         /Users/chu/Documents/javaEEworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         /usr/local/tomcat
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/Users/chu/Documents/javaEEworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/usr/local/tomcat
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=/Users/chu/Documents/javaEEworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=/usr/local/tomcat/endorsed
August 10, 2016 9:25:18 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=UTF-8
August 10, 2016 9:25:18 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: /Users/chu/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
August 10, 2016 9:25:18 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
August 10, 2016 9:25:18 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
August 10, 2016 9:25:18 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
August 10, 2016 9:25:18 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
August 10, 2016 9:25:18 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 912 ms
August 10, 2016 9:25:18 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
August 10, 2016 9:25:18 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/9.0.0.M9
August 10, 2016 9:25:19 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[/UserMVC02]]
    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:911)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:890)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1403)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
    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[/UserMVC02]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158)
    ... 6 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
    at java.lang.Class.getDeclaredFields(Class.java:1916)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:262)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:136)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:327)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:774)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:298)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5075)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    ... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.beanutils.Converter
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1108)
    ... 19 more

August 10, 2016 9:25:19 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:911)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:791)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:655)
    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:355)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1403)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
    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:920)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:890)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    ... 6 more

August 10, 2016 9:25:19 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:158)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:655)
    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:355)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:791)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    ... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    ... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:920)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    ... 11 more

August 10, 2016 9:25:19 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-nio-8080"]
August 10, 2016 9:25:19 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
August 10, 2016 9:25:19 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
August 10, 2016 9:25:19 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-nio-8080"]
August 10, 2016 9:25:19 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-nio-8009"]

【问题讨论】:

  • "Caused by: java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter" --当你的应用部署到Tomcat 9时它在哪里?
  • 感谢您的评论。我认为 org.apache.commons.beanutils.Converter.class 在我的计算机上的这个路径中(UserMVC02 是我的 webapp 的名称):/UserMVC02/lib/commons-beanutils-1.9.2.jar,在这个 jar 文件中。在 Eclipse 中,我已将 commons-beanutils-1.92.jar 添加到构建路径。
  • 嗨,nitind:我检查了 /UserMVC02/lib/ 文件夹下的 commons-beanutils.jar 并且它存在,然后我解压了那个 jar 文件,我找到了 Converter.class。跨度>
  • 如果 jar 在物理上不在 WEB-INF/lib 文件夹下,则需要在项目的 Deployment Assembly 属性页中列出,否则根本不会部署。跨度>
  • 嗨@nitind,我照你说的做了,它有效!!!真诚感谢您的回答!

标签: java eclipse jsp tomcat servlets


【解决方案1】:

如果 jar 在物理上不在 WEB-INF/lib 文件夹下,则需要将其列在项目的 Deployment Assembly 属性页中,否则根本不会部署。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 2015-11-12
    • 2012-07-05
    相关资源
    最近更新 更多