问题背景
已经成功发布到tomcat(前端请求几个接口,都能够正常工作)的项目,再次发布之后报错。
在实现第一版接口之后,我把全部源码用git管理,并Push到服务端。随后,我修改了某一个java文件,在其中加了一行绝对不影响功能、逻辑的代码,保存之后,eclipse突然报错,一片标红,错误提示是整个java类中,引用到的其他类都找不到。类似于:
The import imp4sep.po.User cannot be resolved
Exception cannot be resolved to a type
因为在add和commit的时候,git在控制台输出信息显示,会对换行符进行转化。所以我猜测是换行符的问题。多次无目的性地尝试之后,我想,可能是新增的那一行代码的换行符是Windows风格的,而其他行的换行符是被git转换为Unix风格的,所以导致问题的出现,于是我将那行代码的末尾字符用delete键删除,然后重启了eclipse,刚刚找不到类的标红信息消失。
于是我合理猜测是换行符导致该问题。为此,我还重装了git,但是之后的add依然会提示换行符转换。虽然有点担心,但是还是没有报错。
但是这却是巧合造成的假象:标红的消失,发生在手动删除结尾换行符字符串之后,让我认为问题原因在换行符,但实际上,标红的消失仅仅是巧合,当然,它的出现也是巧合。
错误现象描述
再次碰到这个问题:
发布到tomcatwebapps目录下的项目文件,“修改日期”突然变成两周前的