Posted on 2008-02-26 04:53
leekiang 閱讀(588)
評(píng)論(2) 編輯 收藏 所屬分類:
java
??? 新老版本并存,而老版本的jar包路徑還在classpath中,并且在新版本的前面,程序調(diào)用新方法,編譯沒問題,但運(yùn)行時(shí)會(huì)先去找舊的classes,而舊的classes中不含此方法,故報(bào)NoSuchMethodError錯(cuò)誤,而且這個(gè)還不是異常,捕獲不了,不好找原因。
??? 還有一種情況,你的代碼調(diào)用a.jar ,a.jar又依賴b.jar,這時(shí)如果b.jar版本不對(duì),也可能報(bào)這個(gè)錯(cuò)誤。
??? 另外新舊版本并存,老版本在前,運(yùn)行時(shí)調(diào)用的方法名相同,但內(nèi)容變了,這時(shí)就不是報(bào)Error了,而是可能報(bào)各種稀奇古怪的異常。
??? 使用poi-3.0.2時(shí),如果舊的poi還在classpath,則以上兩種情況都可能發(fā)生。