折騰了兩天的事,終於解決了。
開始struts2項目正常運行,在一次更新后,忽然tomcat在啟動階段報錯,提示配置action的xml文件出錯,查看控制台發現是找不到對應的類。
解決過程如下:
1、首先排查是否是class類名/action路徑/method名字錯誤, 發現都沒問題,那么應該就是發布時的配置問題。
2、找到tomcat發布后的文件,發現在web-inf/classes下package都有,然而里面沒有.class文件,說明是項目配置原因。以前曾碰到過web-inf下沒有classes文件夾,記得當時出錯原因在於項目-properties下
/src配置為空,這樣服務器就不會把java文件編譯到classes下。然而這次配置是正確的,並且classes下有對應的package,只是沒有.class文件,意味着java文件沒有被編譯,很可能是jar包出現了問題
3、項目-build-path,果然libraries下多了個不明jar,且采用絕對路徑,指向本地文件,可是我根本沒有這個文件,應該是某位同學提交時出的問題,刪掉,重啟tomcat,然而還是報錯!
4、試遍了網上能找到的所有方法,包括clean項目、刪掉再部署,依然有問題!
5、突然想到會不會還有一些隱藏配置文件出了問題,因為其他人從svn導入的項目沒有問題,那么可能是一些我沒有提交的文件出了問題,於是開始檢查.classpath文件。果不其然!在第三步時記得項目有一個指向本地jar包的lib,當時刪掉了,然而在這里又看見了!
就是它!因為找到不到這個lib,項目無法編譯,classes下的都為空,導致tomcat找不到對應的類,所以報錯!!
解決辦法:刪掉這個不知道哪個添加的莫名的東西!!!!!!!