首页 > 代码库 > eclipse中基于maven构建的web项目pom.xml中指定的jar包无法发布到tomcat中

eclipse中基于maven构建的web项目pom.xml中指定的jar包无法发布到tomcat中

eclipse运行maven web项目报错:

信息: Starting Servlet Engine: Apache Tomcat/7.0.57一月 07, 2015 11:50:44 下午 org.apache.catalina.core.ContainerBase startInternal严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/minisns]]	at java.util.concurrent.FutureTask.report(FutureTask.java:122)	at java.util.concurrent.FutureTask.get(FutureTask.java:188)	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816)	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)	at java.util.concurrent.FutureTask.run(FutureTask.java:262)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)	at java.lang.Thread.run(Thread.java:744)Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/minisns]]	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)	... 6 moreCaused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext	at java.lang.Class.getDeclaredFields0(Native Method)	at java.lang.Class.privateGetDeclaredFields(Class.java:2397)	at java.lang.Class.getDeclaredFields(Class.java:1806)	at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)	at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:270)	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:139)	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:415)	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:892)	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:5380)	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)	... 6 moreCaused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)	... 20 more一月 07, 2015 11:50:44 下午 org.apache.catalina.core.ContainerBase startInternal严重: A child container failed during startjava.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:188)	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)	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:689)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)	at java.lang.reflect.Method.invoke(Method.java:606)	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)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:1575)	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)	at java.util.concurrent.FutureTask.run(FutureTask.java:262)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)	at java.lang.Thread.run(Thread.java:744)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:816)	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)	... 6 more

 原因是:tomcat对应项目的lib目录中没有pom.xml中指定的jar,但是有通过普通方法导入的jar包,解决方法如下:

1, 右键项目,选择 Properties ,然后选中 Deployment Assembly :

技术分享

2. 点击 Add...

技术分享

然后选中: Java Build Path Entries ,在点击 Next>

技术分享

 

选中 Maven Dependencies ,然后 Finish , Ok 搞定。

 

eclipse中基于maven构建的web项目pom.xml中指定的jar包无法发布到tomcat中