java.lang.NoClassDefFoundError:org / springframework / web / context / ContextCleanupListener

时间:2011-11-17 16:35:41

标签: java eclipse spring tomcat deployment

我有一个使用spring框架构建的webapp。我尝试使用Eclipse将其部署到Tomcat6。每次我对jsp文件进行更改时,我都必须清理构建,发布它和它。然后启动服务器。我相信,我们不必为JSP更改执行所有这些步骤。如果我只是发布文件,当服务器运行时,我得到以下例外

  

SEVERE:将上下文销毁事件发送到类org.springframework.web.context.ContextLoaderListener的侦听器实例的异常   java.lang.NoClassDefFoundError:org / springframework / web / context / ContextCleanupListener

     

SEVERE:异常将上下文销毁事件发送到类org.springframework.web.util.Log4jConfigListener的侦听器实例   java.lang.NoClassDefFoundError:org / springframework / util / Log4jConfigurer

war文件未部署在服务器中。

如果我对JSP文件进行更改&然后在eclipse中单击重启,它有时会发布文件&然后启动服务器。但在某些情况下,它重新启动服务器&然后发布文件(在这种情况下,我得到了上面提到的例外& war文件没有被部署)。

它工作的理想方式是,停止服务器,发布内容&然后启动服务器。每次我做一个简单的jsp更改时,我都讨厌这样做。是否有任何替代单击过程来执行此操作?

3 个答案:

答案 0 :(得分:1)

在Eclipse中设置项目或服务器的方式有问题。我建议按照说明here进行操作。此外,您可能希望下载STS(Eclipse已经与Spring支持捆绑在一起)并使用它而不是vanilla eclipse。

答案 1 :(得分:1)

确保弹簧与您的应用程序一起部署。在eclipse中设置正确的导出选项或将spring库复制到/ WEB-INF / lib。

MyEclipse在这里运作正常。您也可以查看JRebel。他们宣传没有重新部署。 ;)

答案 2 :(得分:0)

您可以使用爆炸战和增量热部署。

这应该有效http://www.youtube.com/watch?v=OMtcjgTyP-g

下午2:30