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