【问题标题】:Init Tomcat with spring 3.1.1 failed on ContextLoaderListener在 ContextLoaderListener 上使用 spring 3.1.1 初始化 Tomcat 失败
【发布时间】:2012-05-03 08:44:21
【问题描述】:

我尝试使用 Spring 加载 Tomcat 服务器,但失败并出现错误(见下文), 我只为 spring 使用一个 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>

错误:

严重:向 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) 在 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) 在 java.util.concurrent.FutureTask$Sync.innerRun(未知来源) 在 java.util.concurrent.FutureTask.run(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 java.lang.Thread.run(Unknown Source)

【问题讨论】:

    标签: spring tomcat


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      到你的 CLASSPATH。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-09
        • 2017-03-17
        • 2014-09-13
        • 1970-01-01
        • 1970-01-01
        • 2018-06-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多