使用Eclipse编译Web项目遇到的一个奇葩问题

起因

最近在项目中遇到这样一个问题,百思不得其解,最后在公司领导的帮助下才发现问题,找到问题后,领导更是惊讶,搞了这么多年开发还从未见过这种类型的问题,当然这个问题也困扰了我很久,有必要记录下来,供其它同学参考交流

问题描述

遇到的问题是这样的,拷了同事的一份Web项目,方便下班后在家测试,结果奇葩就出来了,无论我怎么修改项目都无法连接到本地的数据库上,每次都连接到了公司内部的服务器上,我是在Eclipse(4.5.1)下面部署的 Web 项目,项目结构如下:

数据库配置文件

url:数据库连接地址
username:数据库名
password:密码(这里是加过密的)

问题重现

这是我当时从同事手中拿到的完整项目

导入 Eclipse 之后有个红色的感叹号,当时并没有引起我的足够重视,下面开始部署项目

内网数据库地址,

可以看到服务器已经开启了,也已经可以正常访问,并没有出现什么问题,但我准备部署到本地连接到本地数据库的时候,问题就出现了,怎么部署都并没有什么卵用,甚至出现了以下这种情况

当我把连接数据库配置文件都注释掉之后,项目依然可以运行,只不过连接到的还是公司内网数据库,这时候我整个人都有点崩溃了,难道说连接数据库的配置不是这里?同事给了我肯定的答复,就是在这里…

产生原因

在我出现这个奇葩问题之后,领导也有点好奇,修改数据库密码、清除缓存、把项目移到 MyEclipse中、查看 hosts 配置、重新配置 Tomcat….然而这些努力通通以失败告终,最后项目那个红色感叹号引起了我们的注意,我们在项目的工作路径的编译文件下找到了原因,这是在项目编译路径中发现的

通过Eclipse无论对项目中的配置文件怎么修改,都没有对编译之后的文件产生任何影响,也就是说,无论你怎么修改,项目压根就没有被编译过!!! 因为项目是从同事那里拷过来的,同时也把原本已经编译成功的文件也包含在内,在导入 Eclipse 之后,因为那个红色感叹号的存在,导致无论怎么修改,都没有被编译,加载的时候还是加载的最初编译之后的项目,这也是项目无法在本地部署的原因,因为数据库地址在编译文件里面就没有被修改过!!!

解决

找到了问题之后,就好处理了,找到引起红色感叹号的原因,发现是因为缺少jar包的原因

引申问题:既然缺少 jar 包,为什么项目在无数次 clean 之后,没有出现红色的 X ,而仅仅是一个感叹号,clean 的作用就是将 .class 文件删除,同时重新编译,但在这个项目中却完全没有起到该起的作用..

在重新导入Jar 包之后,该问题也就被解决了..

总结

在运行别人项目的时候一定要先把 .class 下的东西清空一下,包括提交的服务器上的项目 .class文件不应该上传,要运行的项目一定要调整到没有任何问题为止…..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值