在ContextLoaderListener上,使用spring 3.1.1的Init Tomcat失败

时间:2012-04-22 14:14:38

标签: spring tomcat

我尝试使用Spring加载Tomcat服务器但出现错误(见下文), 我只使用一个zip弹簧:spring-core-3.1.1.RELEASE.jar并在web.xml中进行了非常基本的配置 任何帮助将不胜感激。

提前完成。 颜


的web.xml:

       <listener>
            <listener-class>
                org.springframework.web.context.ContextLoaderListener
            </listener-class>
        </listener>

        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/config/controllers.xml
            </param-value>
        </context-param>

ERROR:

SEVERE:将上下文初始化事件发送到类org.springframework.web.context.ContextLoaderListener的侦听器实例的异常 java.lang.NoSuchMethodError:org.springframework.web.context.ConfigurableWebApplicationContext.setId(Ljava / lang / String;)V     在org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:369)     在org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)     在org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)     在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)     在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)     在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1566)     在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1556)     at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)     at java.util.concurrent.FutureTask.run(Unknown Source)     at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(Unknown Source)     at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)     在java.lang.Thread.run(未知来源)

2 个答案:

答案 0 :(得分:2)

尝试将spring-webmvc依赖项添加到您的pom:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.1.1.RELEASE</version>
</dependency>

答案 1 :(得分:2)

缺少的方法位于ConfigurableApplicationContext内的spring-context*.jar。因此,spring-core-3.1.1.RELEASE.jar不可能是您只有 Spring JAR。尝试添加:

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>3.1.1.RELEASE</version>
</dependency>

到您的CLASSPATH。