问题描述:
使用WTP开发WEB程序,需要把WEB-INF/lib下的某个jar库删除,在eclipse的项目浏览器里是删不掉的,因为它在BuildPath里。于是就先把eclipse关掉,然后通过资源管理器找到那个project的文件夹,把文件删除。重新打开eclipse,运行该web程序(Run on server),会出现Publishing failed错误,详细信息为:Resource /xxxx does not exist,其中/xxxx是那个project文件夹。怎么可能呢,那个文件夹好好地放在那里,居然说does not exist!
原因:
由于在外面把某个jar删掉,eclipse还不知道,发布web程序的时候以为那个jar还在,于是就把它发布出去,但那个文件不存在,所以就报错。只是这个错报得太离谱,一个文件不见了就说整个project不存在,简直是误导观众!
解决方法:
删除jar的时候不能直接在eclipse里删,更不能在外面删。要先把整个Web Library从BuildPath里去掉,这样lib里的所有jar都不在BuildPath里了,然后在eclipse的项目浏览器(Navigator view)里把jar删除,然后再添加Web Library。