Java tomcat 7 无法从 eclipse 中启动
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/22491245/
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
tomcat 7 failed to start from within eclipse
提问by CodeMed
I am trying to do a run as...run on server
of a spring mvc web app from within eclipse, and I am getting the following dialog box error:
我正在尝试run as...run on server
从 eclipse 中执行一个spring mvc web 应用程序,并且出现以下对话框错误:
Can someone show me how to fix this?
有人可以告诉我如何解决这个问题吗?
Here is the complete stack trace:
这是完整的堆栈跟踪:
Mar 18, 2014 2:03:22 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: list of lotsa files with their paths.
Mar 18, 2014 2:03:22 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:KnowledgeManager' did not find a matching property.
Mar 18, 2014 2:03:22 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Mar 18, 2014 2:03:22 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Mar 18, 2014 2:03:22 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 637 ms
Mar 18, 2014 2:03:22 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 18, 2014 2:03:22 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.42
Mar 18, 2014 2:03:23 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[/KnowledgeManager]]
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
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(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/KnowledgeManager]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 7 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ConfigurableApplicationContext
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
at java.lang.Class.getDeclaredFields(Class.java:1743)
at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:263)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:92)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
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:5322)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 21 more
Mar 18, 2014 2:03:23 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$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
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:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:691)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
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:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Mar 18, 2014 2:03:23 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:691)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
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:732)
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:1131)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Mar 18, 2014 2:03:23 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Mar 18, 2014 2:03:23 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Mar 18, 2014 2:03:23 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Mar 18, 2014 2:03:23 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Mar 18, 2014 2:03:23 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
Here is the spring-context dependency as it is written in my pom.xml:
这是在我的 pom.xml 中编写的 spring-context 依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-framework.version}</version>
</dependency>
I also did a maven update project
, a maven download sources
, and an eclipse clean project
, but none of those things have fixed this problem.
我也做了 a maven update project
、 amaven download sources
和 an eclipse clean project
,但这些东西都没有解决这个问题。
What can I do to fix the problem?
我该怎么做才能解决问题?
采纳答案by M. Abbas
Here is the cause of the exception:
下面是异常的原因:
java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext
You should add spring-context
and all the jars that this artifact depends on to the classpath of your project, Ex:
org.springframework
spring-context
${org.springframework.version}
您应该将spring-context
这个工件依赖的所有 jar添加到您项目的类路径中,例如:org.springframework spring-context ${org.springframework.version}
EDIT:
编辑:
Right click your project -> properties -> Deployment Assembly and verify that your project dependencies are deployed to WEB-INF/lib:
右键单击您的项目 -> 属性 -> 部署程序集并验证您的项目依赖项是否已部署到 WEB-INF/lib:
EDIT:
编辑:
What really resolved the problem: right clickon server(in the servers view of eclipse) -> clean+ publish.
真正解决问题的是: 右键单击服务器(在 eclipse 的服务器视图中)-> clean+ publish。
回答by Mohammad Adil
that stack trace clearly says ClassNotFoundException
该堆栈跟踪清楚地说明 ClassNotFoundException
It seems that Spring-context.jar
is not found in your class path.
似乎Spring-context.jar
在您的类路径中找不到。
Try adding that jar in your class path first.
首先尝试在您的类路径中添加该 jar。
回答by tcosta
Can you see the spring jars in the "Maven Dependencies" section on the project?
你能在项目的“Maven Dependencies”部分看到spring jars吗?
If not, you can have a problem in your pom dependencies definition, or maybe update project didn't complete successfully. Try check dependencies definition and run update project again.
如果没有,您的 pom 依赖项定义可能有问题,或者更新项目可能没有成功完成。尝试检查依赖项定义并再次运行更新项目。
If so, did you try "clean..., "clean work directory" and "publish" on your server?
如果是这样,您是否在您的服务器上尝试过“清理...”、“清理工作目录”和“发布”?
Hope it helps.
希望能帮助到你。
回答by Shashank Goell
I also had the same problem. the problem was occurred because common logging .jar file was not added in my project build path. after adding it project works fine.
我也有同样的问题。出现问题是因为我的项目构建路径中未添加公共日志记录 .jar 文件。添加它后项目工作正常。
回答by Adeel
Check your url pattern in web.xml /webapp/* replace "webapp" with your path name
检查 web.xml 中的 url 模式 /webapp/* 将“webapp”替换为您的路径名
回答by Erawat Jarus
I had same problem because of dependencies which are available in pom.xml file,some of them are corrupted.I resolve that by simply removing .m2/repository folder contents and followed this steps.
由于 pom.xml 文件中可用的依赖项,我遇到了同样的问题,其中一些已损坏。我通过简单地删除 .m2/repository 文件夹内容并遵循以下步骤来解决这个问题。
- Run as -> Maven clean.
- Run as -> Maven Install.(Use good internet provider).
- maven -> Update project.
- 运行方式 -> Maven clean。
- 运行方式 -> Maven 安装。(使用良好的互联网提供商)。
- maven -> 更新项目。
Hope it will help you too.
希望它也能帮助你。