【问题标题】:spring class not found when it exists存在时找不到弹簧类
【发布时间】:2015-01-29 06:06:21
【问题描述】:

我收到一个异常,即“org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping”在我的 WebContent\WEB-INF\spring-dispatcher-servlet.xml 文件中不存在。我添加了 spring-webmvc 4.1.2 依赖项,并且该类存在于我的 Maven 依赖项中,所以就好像它没有从我的 Maven 依赖项中看到这些类?

    <bean id="HandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

【问题讨论】:

    标签: java spring maven spring-mvc servlets


    【解决方案1】:

    如果您使用的是 eclipse,请尝试清理项目,然后清理 Tomcat 目录。 还要确保 WEB-INF/lib 中存在 maven 依赖项,如果没有,可以从 Project Properties > Deployment Assembly

    进行配置

    【讨论】:

    • WEB-INF/lib文件夹中好像没有spring jars,这是我的部署程序集:i.imgur.com/OogS59X.png这个配置正确吗?
    • 是的,它是正确的,只需尝试 Project>Clean... 之后在 eclipse 中打开服务器视图,右键单击 tomcat 并单击 Clean...
    • 项目->清洁工作,谢谢!为什么这会起作用的任何原因?
    • 它与 eclipse-tomcat 集成有关。将依赖项添加到 webapp 时,它不会与 tomcat 部署目录同步,ei 依赖项不会复制到 WEB-INF/lib,因此开发人员必须单击 Tomcat>Clean... 重新部署网络应用程序。
    【解决方案2】:

    您的类路径中可能有多个版本的spring-webmvc 作为其他直接依赖项的依赖项。致电mvn dependency:tree -Dverbose -Dincludes=spring-webmvc 以查看您拥有多少版本的库并排除旧版本。

    或者,如果您使用的是 Intellij,请启用 maven 插件,生成图表,使用 Ctrl-F 搜索 spring-webmvc 并在您有旧依赖项的地方右键单击它并选择 exclude。可能eclipse也有类似的功能。

    【讨论】:

      猜你喜欢
      • 2012-01-14
      • 2016-12-23
      • 2018-10-22
      • 2017-01-04
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      • 2015-04-25
      相关资源
      最近更新 更多