zoukankan      html  css  js  c++  java
  • ssh框架整合-NoClassDefFoundError-NoSuchMethodError-遁地龙卷风

    (-1)写在前面

          spring2.0、struts1.2、hibernate3.0、myeclipse8.5、tomcat6.0,整合之中出现了很多问题,前几天忙着整理毕业论文的资料,时间腾出来了,总算有能写的东西。话说这宿舍的人少了,蚊子的选择也少了。

    (0)详细解释

    a.错误产生的原因

    java.lang.NoSuchMethodError、 java.lang.NoClassDefFoundError,类似于这种类型的错误是因为框架间jar包冲突了。

    b.解决方式

    已java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit为例,是因为spring2.0和hibernate3.0都有asm这个jar包。

    第一种:区发布项目的tomcat根目录下,进入webapps,进入你的项目,WEN-INF->lib下,找到asm.jar删掉即可。第一次发布项目后,以后的项目发布时不会跟新lib里的jar包

    第二种:关闭服务器,去tomcat跟目录下的webapps里删除你的项目(否则即便执行后续的行为,再次发布项目lib里的jar包也不会更新),

    如果 你的jar包在myeclipse中放在WEB-INFlib下,找到后删除就好(我用的是build path,不是自己导的包,可能在spring 2.0 AOP libraries里),

    如果你是用buildpath方式引用的jar包,点击myeclipse的Windows,点击preference,左边依次点击MyEclipse->ProjectCapabilities->Spring,

    在右边选择Spring2.0,下拉选框选择spring 2.0 AOP libraries(我的默认就是),找到asm.jar(我这里是asm-2.2.3.jar),移除即可,然后重新启动服务器,发布项目。如下图所示:

     

    (2)恢复移除的jar包

    移除buildpath中的jar包是有隐患的,以前面移除的asm.jar为例,点击myeclipse的Windows,点击preference,左边依次点击MyEclipse->ProjectCapabilities->Spring,在右边选择Spring2.0,进入后随便点击一个jar包,点击Add JAR/ZIP,如果你发现地址栏出现data2.0libaopalliance这样的片段,你一定想到了,lib目录下有spring2.0全部的jar,找到你想要的就可以了。

  • 相关阅读:
    生鲜购物篮模型
    shell脚本
    一号店评论文本聚类研究1
    数据框的合并(根据某一个字段)
    Reshape包
    R-kmeans
    python练习(续)
    python练习
    截取整数字符串
    java中PriorityQueue优先队列使用方法
  • 原文地址:https://www.cnblogs.com/resolvent/p/5933861.html
Copyright © 2011-2022 走看看