解决javaweb项目在jetty中能正确运行但是在tomcat中运行错误的问题

在javaweb开发时候为了快速构建和测试项目经常用到maven+jetty插件运行项目,但是有时候会遇见一个很奇怪的问题。在jetty中运行良好的项目,放在tomcat中就不能跑。这里是放在eclipse的tomcat中,不是打包放在tomcat中跑。其实错误的打包方法也会导致出现这个问题。它一般报的错误是:

严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:506)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:488)
    at ...

经过多番搜索查询得到的解决方案如下:
其实是你的jar文件没有同步发布到自己项目的lib目录中(如果你是用Maven进行构建的话) 可以试试 下面的办法 项目点击右键 点击 Properties 选择Deployment Assembly 再点击右边的Add按钮 选择Java Build Path Entries后点击Next按钮 然后选择你的Maven Dependencies 确定即可。如下图所示:

项目就能正确的在tomcat中运行起来了。

posted @ 2017-05-04 12:11  风中小蘑菇  阅读(3464)  评论(0编辑  收藏  举报