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

1、问题描述

    今天把windows下部署的SSH项目复制到linux的tomcat服务器上,发现怎么访问都是报404错误,而此前部署到windows上的tomcat完全可以访问,而且我之前在linux下部署的项目也能访问。后来在linux下关闭tomcat后,用带有命令行输出的指令启动tomcat:

-- 关闭tomcat
# ./shutdown.sh

-- 带有命令行日志输入方式启动tomcat
# ./catalina.sh run

发现报了如下错误:

java.lang.NoSuchMethodError:org.springframework.beans.factory.support.DefaultListableBeanFactory.setSerializationId(Ljava/lang/String;)V

 

2、问题分析

因为linux的tomcat启动的时候这个项目报错,所以这个项目没有初始化,其他项目则初始化完成了。因此在浏览器上输入这个项目的地址都是报404的。

 

3、解决过程

经过反复上网查找答案之后,我发现这篇文章:

http://wenku.baidu.com/link?url=NkHvx8fx17eKWEJNWViXB6SmZmkNXCa9rCTiN-uYj9mLV0sNNJ2P5ZgqNftYCshxI98q_k1NwMzT0O_rqPzmfYpvjrUAmxxHu_bJVFHBc73

这篇文章说是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测试一下。截图如下:

用 # catalina.sh run 启动tomcat时真的没有了错误,项目也能正常访问了。

4、简单总结

我觉得之所以在windows下启动tomcat时没有报错是因为myeclipse启动tomcat时默认消除包冲突,或者其他原因。以后要多注意SSH项目包冲突的问题,特别是版本和兼容性问题。

 

参考:http://wenku.baidu.com/link?url=NkHvx8fx17eKWEJNWViXB6SmZmkNXCa9rCTiN-uYj9mLV0sNNJ2P5ZgqNftYCshxI98q_k1NwMzT0O_rqPzmfYpvjrUAmxxHu_bJVFHBc73

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值