MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

java.lang.NoSuchMethodError的一种可能

Posted on 2008-02-26 04:53 leekiang 阅读(582) 评论(2)  编辑  收藏 所属分类: java
    新老版本并存,而老版本的jar包路径还在classpath中,并且在新版本的前面,程序调用新方法,编译没问题,但运行时会先去找旧的classes,而旧的classes中不含此方法,故报NoSuchMethodError错误,而且这个还不是异常,捕获不了,不好找原因。
    还有一种情况,你的代码调用a.jar ,a.jar又依赖b.jar,这时如果b.jar版本不对,也可能报这个错误。
    另外新旧版本并存,老版本在前,运行时调用的方法名相同,但内容变了,这时就不是报Error了,而是可能报各种稀奇古怪的异常。
    使用poi-3.0.2时,如果旧的poi还在classpath,则以上两种情况都可能发生。

评论

# re: java.lang.NoSuchMethodError的一种可能  回复  更多评论   

2008-02-26 09:30 by jeasonzhao
高版本的JDK 编译,运行在低版本的JDK上也可能导致这个问题

# re: java.lang.NoSuchMethodError的一种可能  回复  更多评论   

2008-06-01 16:24 by beenylee
那个nosuchmethoderror烦死我了,因为有你,我解决了,哈哈,我太喜欢你了!

只有注册用户登录后才能发表评论。


网站导航: