不久前遇到了这样一个问题:在eclipse上运行的很好的项目,在部署到tomcat上后js就不能正常运行了。

在网上找了很多文章,都没有很好的解决这个问题,最终只能一步步来排查。

  1. 确人部署环境的问题还是tomcat导致的问题:在本机上用tomcat的方式部署,启动,发现js任然无效-->确定是tomcat导致的问题。

  2. 通过浏览器查看页面源代码发现所有的js文件都正常导入,同时查看class/static,下面的所有资源都存在。

  3. 删除所有js,写入alert(1),能够真确显示。在每条js导入语句前加上

    <script type="text/javascript"> alert(n)</script>,最终确定是jquery的问题。仔细查看发现是大小写问题。class/static/js/下面的jquery,而导入的时候写的是jQuery。


总结:eclipse会自动的将jQuery等价于jquery,而tomcat有严格大小写要求。问题虽然不大但是很坑,会让人觉得莫名其妙。