eclipse中的幽灵项目——项目错误引起不执行当前项目

作为计算机学院的学生,敲代码使我快乐。

我爱学习,我爱代码。可是学习爱代码,他俩都不爱我。

今天遇到一个很蠢的错误,但也很烧脑。我调试了一下午,改完后差点血溅五步。

我想写出来给大家避避坑(虽然可能像我这样犯这种错误的人很少),也用来告诫自己写代码要细心。

话不多说,接下来请我来为大家讲讲这个能把自己蠢哭的故事

今天我想往常一样,打开电脑准备开开心心敲bug。可刚打开eclipse,映入眼帘的就是项目上的红叉叉,一般这种情况是项目中代码本身出现了错误。这种情况打开项目就能看到报错的包或文件夹,根据报错提示很快就能找到代码错误。

可是当我改完昨天晚上遗留的一部分代码后,我发现代码项目的报错依旧没有消失。这让我有点好奇,难道我还有代码没改过来?于是我翻遍了这两天改的代码,可除了项目报错外代码根本没问题。

最初我以为是eclipse的bug(毕竟eclipse还是有很多代码检查机制存在bug,多一个也正常不过)于是我高高兴兴运行了程序。别说,这程序还真给面子,就真运行下来了。

因为这两天改的是查询的代码,所以我没有高兴太早,万一程序运行到一半出现bug了呢?所以我怀着忐忑的心情输入了账号和密码。不过皇天不负有心人,经过我两天修改索性是出来了。

 正当我为代码运行成功而感到庆幸的时候,殊不知诡异的事情正在悄然发生:

因为接下来要修改的是添加的代码,这个功能是已经实现的,只是需要新的方法实现。于是我就点击了添加用户。程序运行成功,只是出现了一个小小的错误:爱好一栏出现了不该出现的重复。

 因为代码是自己编写,很快就找到了症结所在:在合并字符串时缺少了一个else语句

修改之后重新运行,诡异的事情发生了。修改代码后添加的用户爱好依旧出现重复:

这让我很纳闷,难道还有其他地方没有修改?还是我修改的地方没有执行?由于对自己和代码的信心我只是在合并字符串的前后添加了输出语句。  

 结果有点惊到我,这段代码根本没运行到!!!控制台输出只有“数据库连接成功”和“添加成功的提示”,而且“数据库连接成功”的提示多了很多。

 于是我在dao.imp包中写了控制台输出代码并修改了提示信息,然后我再次运行了程序。

 诡异的事情再次发生,添加的提示信息没有输出,修改的提示也没有改变

此时我意识到他根本没有运行我的程序,或者说没有运行我修改后的程序。为了验证心中的猜想,我再次修改了DB包的提示信息,接着再次运行了这段幽灵程序。

结果不出我所料,就连DB包也没有运行,可是他没有运行我写的程序那他运行的又是什么呢?这让我又注意到了那个项目上的红叉

有一种情况,是因为项目出现错误,系统执行了上一次执行过的可执行文件。所以无论你怎么改当前文件,系统都不会执行。

所有问题就又回到了最初的那个问题,这个红叉是怎么来的。

就在我百思不得其解之时舍友的一句话提醒了我:他说要用我电脑传一个库文件。我想起来昨天我给系统添加了一个用户库。当打开配置构建路径果然,新加库上也出现了一个红色叉

 引用的这个库是别的项目中的库,后来把那个项目删除后造成了文件的缺失

 删除这个库之后项目报错消失,我添加的代码出现了。修改后的爱好错误重复问题也消失了。

错误的主要原因就是库文件的错误引用,导致项目出现错误,系统运行了之前执行过的可执行文件。只需要把错误引用的库删除就好了。如果还需要使用该库就更换一个好的库文件。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值