错误[org.springframework.web.servlet.DispatcherServlet]

时间:2017-02-19 07:10:55

标签: java maven spring-mvc jboss

我的代码是用maven构建的,使用的是jBoss 6和java 7

代码在本地计算机上工作正常但是当我尝试在服务器上运行war时出现错误

  

错误[org.springframework.web.servlet.DispatcherServlet]

我尝试使用aop jar但仍未成功

有人可以向我解释错误以及如何解决错误

2 个答案:

答案 0 :(得分:7)

在创建 @Beans 期间失败。特别是它失败了,因为 NoClassDefFoundError:org / springframework / core / convert / converter / ConvertingComparator 这意味着它无法找到“ConvertingComparator”的类定义。我可以在ConvertingComparator上找到的最早的文档是Spring 3.2.0。请记住,您使用的是 Spring 3.1.0.RELEASE 。我尝试使用您的POM运行一个基本的Spring项目,并使用您提供的spring版本遇到类似的问题。我还遇到了 Spring 3.2.0 的冲突。我建议在POM中使用 Spring 4.3.5.RELEASE 。在设置了必需的属性后,我没有遇到运行基本示例的问题:

<properties> 
        <org.springframework.version>4.3.5.RELEASE</org.springframework.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

话虽如此,您的代码中也可能存在其他问题。没有更多信息,很难提供整体解决方案。

修改

所以这里是你所有的春天依赖:

  • 弹簧豆
  • 弹簧的web
  • 弹簧webmvc
  • 弹簧-TX
  • 弹簧JDBC
  • 首先让我们谈谈冗余。 spring-webmvc 实际上包含 spring-web spring-beans 。因此,您可以从POM中删除这些依赖项,因为它们是冗余的。 spring-jdbc 包含 spring-tx ,表明包含也是多余的。您可以立即从POM中删除所有这些内容以进行清理。

    在您的评论中,您提到了有关包org.springframework.mail 未找到的新错误。此软件包位于 spring-context-support 中。 Spring上下文支持实际上可以在 spring-webmvc 中找到,也可以在可选的依赖项中找到。 (所以你必须手动包括它)

    根据this帖子,该包已分别转移到上下文支持中。我的猜测是你试图专门使用.mail包中的一些可用对象,因为你没有包含它,所以它没有找到。随着有关您的项目的更多信息,我们可以越深入了解为什么3.2不起作用,4.1确实有效。除了细节之外,这一切意味着你所调用的3.2依赖关系没有公开所需的包,但4.1依赖关系会这样做。

    答案 1 :(得分:0)

    你是否停止了这个过程,我的意思是特定的bean可能正在使用中?