Basic Spring MVC Web应用程序导致" ContextLoaderListener"错误

时间:2012-03-29 10:47:07

标签: eclipse maven spring-mvc

我正在尝试创建我的第一个Spring MVC Web应用程序。我已经下载了Spring Tool Suite并按照这些说明操作:

  

在STS中设置新项目:点击文件 - >新 - >春天模板   项目 - > Spring MVC项目引入依赖项并编译你的   项目:右键单击您的新项目 - >运行方式 - > Maven安装到   在应用程序服务器中运行您的项目:右键单击您的新项目   项目 - >运行方式 - >在服务器上运行 - > SpringSource tc Server如果是的话   工作,你会看到一个网页说“恭喜!你正在运行   弹簧!”   (https://stackoverflow.com/a/2444805/866447

但是当我启动服务器时,我总是会收到以下错误:

Mrz 29, 2012 12:29:57 PM org.apache.catalina.startup.SetContextPropertiesRule begin
Warnung: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:undnochmal' did not find a matching property.
[TomcatWeavingInsightClassLoader@db27fb2] warning ignoring duplicate definition: jar:file:/C:/springsource/vfabric-tc-server-developer-2.6.4.RELEASE/spring-insight-instance/insight/collection-plugins/insight-collection-1.5.1.SR2.jar!/META-INF/aop.xml
[TomcatWeavingInsightClassLoader@db27fb2] warning ignoring duplicate definition: jar:file:/C:/springsource/vfabric-tc-server-developer-2.6.4.RELEASE/spring-insight-instance/insight/collection-plugins/insight-plugin-jdbc-1.5.1.SR2.jar!/META-INF/aop.xml
[TomcatWeavingInsightClassLoader@db27fb2] warning ignoring duplicate definition: jar:file:/C:/springsource/vfabric-tc-server-developer-2.6.4.RELEASE/spring-insight-instance/insight/collection-plugins/insight-collection-1.5.1.SR2.jar!/META-INF/aop-ajc.xml
[TomcatWeavingInsightClassLoader@db27fb2] warning ignoring duplicate definition: jar:file:/C:/springsource/vfabric-tc-server-developer-2.6.4.RELEASE/spring-insight-instance/insight/collection-plugins/insight-plugin-jdbc-1.5.1.SR2.jar!/META-INF/aop-ajc.xml
[TomcatWeavingInsightClassLoader@db27fb2] warning ignoring duplicate definition: jar:file:/C:/springsource/vfabric-tc-server-developer-2.6.4.RELEASE/spring-insight-instance/insight/collection-plugins/insight-plugin-tomcat-1.5.1.SR2.jar!/META-INF/aop-ajc.xml
ASPECTJ: aspectj.overweaving=true: overweaving switched ON
Mrz 29, 2012 12:29:57 PM org.apache.catalina.core.StandardContext listenerStart
Schwerwiegend: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org/springframework/context/ConfigurableApplicationContext
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
    at java.lang.Class.getConstructor0(Class.java:2714)
    at java.lang.Class.newInstance0(Class.java:343)
    at java.lang.Class.newInstance(Class.java:325)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:125)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4715)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    ... 20 more

我完全糊涂了...我使用默认的IDE和默认的SpringMVC模板和默认服务器。哪里错了?或者我以前必须做一些强制性的步骤,这些步骤是无处写的?

1 个答案:

答案 0 :(得分:7)

你应该包括“spring-context”

例如,此配置将引发您获得的失败。

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
        <scope>test</scope>
    </dependency>

正确的版本是

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>

确保库得到了lib目录。