問題描述:
使用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。