升级到Weblogic10时,启动报错java.lang.NoSuchMethodError

来源:互联网 发布:使命召唤8 mac 迅雷 编辑:程序博客网 时间:2024/06/05 20:44

Weblogic9升级到Weblogic10,启动报错:
java.lang.NoSuchMethodError:org.apache.commons.lang.StringUtils.startsWith(Ljava/lang/String;Ljava/lang/String;)Z
这里写图片描述

  项目commons-lang-2.5.jar包中是存在此方法,但是项目启动后,执行此方法就会报NoSuchMethod的异常错误,说明项中的jar包与Weblogic的jar包有冲突,应该是优先使用了Weblogic10中的jar包而没有用项目本身lib中的jar包。
注:Weblogic10安装目录modules有一此jar包,其中com.bea.core.apache.commons.lang_2.1.0.jar包就存在StringUtils类,但是没有startsWith方法。
解决方法一:
  将Weblogic10的modules目录下的com.bea.core.apache.commons.lang_2.1.0.jar包替换掉,替换成commons-lang-2.5.jar包,同时将jar包名也要改成原来(com.bea.core.apache.commons.lang_2.1.0.jar)名字,否则启动weblogic就会报错。

解决方法二:
  weblgoic.xml中prefer-web-inf-classes设置成true,优先使用web应用里加载的类,即就是优先加载web-info下lib中的jar包。

阅读全文
0 0