把系统时间改到以前后,MyEclipse9.1的工程里的JS文件修改完保存但MyEclipse不会将其不会更新。
一个任务中,由于本周数据还没有产生,只好把系统时间修改到上周,利用下上周的数据。
修改内容主要是增加查询子句的一个字段,因此,包含SQL的DAO,前台显示的Table和前台操作的JS都需要相应修改,它们分别对应Java文件,JSP文件和JS文件。其中,JS文件是tiles:insert的方式被载入到JSP文件里面的。
接着相应作出了修改,但没有出现预想的结果,通过Debug发现,后台数据查询没错,前台表格的TH显示没错,但用于显示数据的JS似乎无动于衷。
一开始以为是数据的原因,加了两个alert,但是,页面动作依然故我,和没修改前一样。
这时查看源码,发现没有我增加的Alert字样。想到有时候MyEclipse也会产生自动编译失效的情况,于是Clean再Rebuild,页面岿然不动!
反思下,发现自己太心急了,就算不编译了,出问题的也应该是JAVA和JSP,与JS何干。
后来终于顿悟到系统时间在捣乱,改回去后,再怎么保存,JS文件的修改时间也比已经发布到Tomcat6的文件旧,MyEclipse认为它是“旧”的以后就不会拿他替代原有的“新”文件,所以再怎么修改JS文件还是以前那个。但是这个规则只适用于JS文件,而不是会编译成class的JAVA和JSP文件。
所以,遇到这种问题的解决方案就是,把系统时间改回现在或者未来,然后保存JS文件,再把系统时间修改回过去,再执行程序。
遇事冷静想想原因,比瞎鼓捣要有效。
希望此文对遇到同样问题的有所帮助。
我用的MyEclipse9.1版本可以从http://pan.baidu.com/s/1CBA9a 下载。