1. 问题
对于一些附带了大量本地资源的项目(例如,用户上传的文件,地图切片或者三维模型等),在Eclipse中部署调试是我一直头痛的问题。因为Eclipse部署项目总是要将整个项目都复制到设置好的项目部署目录中的,而且通常在复制之前还会清空之前项目目录中的文件。每次Run as Server之前都会进行这个操作,那么在Eclipse中是无法进行调试的。
2. 方案
本地资源作为另外单独的项目发布,再在项目中引用这个资源是个不错的办法,不过会涉及到跨域的问题。最好还是通过Eclipse本生的设置来实现这个功能:就是不用每次都复制项目到部署的文件夹了,而是直接找到Eclipse项目中的文件夹作为项目的发布目录。
双击Servers窗口中部署好的Tomcat,进入Modules选项卡,选择"Add External Web Module"按钮,分别设置项目名称和项目的目录,确定后得到的设置如下:
这个办法会将指定的WebContent目录作为部署的虚拟目录,就不用每次复制项目到指定的部署文件夹了。其实是直接修改了Tomcat的conf目录下配置文件server.xml:
所以需要重启部署调试就不用每次Run as Server了,直接重启Server即可。如果需要不再部署这个项目,可以在Eclipse中右键Tomcat,Clean一下即可。