红联Linux门户
Linux帮助

Tomcat的项目在windows下能访问而在linux下却不能访问的解决

发布时间:2017-02-26 15:20:53来源:linux网站作者:SQ_Bang
1、问题描述
今天把windows下部署的SSH项目复制到Linux的tomcat服务器上,发现怎么访问都是报404错误,而此前部署到windows上的tomcat完全可以访问,而且我之前在linux下部署的项目也能访问。后来在linux下关闭tomcat后,用  # ./catalina.sh run 启动tomcat,发现报了Java.lang.NoSuchMethodError: org.springframework.beans.factory.support.DefaultListableBeanFactory. setSerializationId(Ljava/lang/String;)V错误,截图如下:
Tomcat的项目在windows下能访问而在linux下却不能访问的解决
 
2、问题分析
因为linux的tomcat启动的时候这个项目报错,所以这个项目没有初始化,其他项目则初始化完成了。因此在浏览器上输入这个项目的地址都是报404的。
 
3、解决过程
经过反复上网查找答案之后,我发现spring.jar和org.springframework.*等包冲突,我起初还不信,因为项目从myeclipse部署到windows的tomcat时都没有报错,最后无奈之下检查了一下项目/WEB-INF/lib下的包,发现真的是有org.springframework.*.RELEASE.jar和spring.*.jar这两种包,然后再上网了解到spring3.0包含了2.0的包了所以spring.2.0这些包是多余冲突的。于是我把spring.2.0的几个包的后缀名改为.bak测试一下。截图如下:
Tomcat的项目在windows下能访问而在linux下却不能访问的解决
用 # catalina.sh run 启动tomcat时真的没有了错误,项目也能正常访问了。
 
4、简单总结
我觉得之所以在windows下启动tomcat时没有报错是因为myeclipse启动tomcat时默认消除包冲突,或者其他原因。以后要多注意SSH项目包冲突的问题,特别是版本和兼容性问题。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/28730.html