`
SilenceGG
  • 浏览: 108538 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何定位java.lang.NoSuchMethodError

    博客分类:
  • JAVA
 
阅读更多

 

           在运行一个程序时,出现了如下错误,且编译器没有出现红框,也就是传说中的NoSuchMethodError

 


         

           由图中可以知道RegularExpression 有一构造方法RegularExpression(String a ,Sting b, Local local)  被调用啦,但我们提供的RegularExpression ,没有这个构造方法;  但根据名字我找到了JAR包xercesImpl.jar ,且找到了它的构造方法

 

 

     如图所示,郁闷,这不是有吗。  只能是JAR包冲突啦,在忙忙JAR包中如何去定位这个冲突的JAR包呢。 不会要我每个包都去检查一遍吧,好吧,我承认我是个屌丝,在百度无门与问领导失败的情况下,白痴的这么做个

 

        前段时间看JAVA深度历险时看到了个VERBOSE参数。我想到了它

        解释下verbose,加上此参数,它会打印出所有当你使用时需要使用到的CLASS文件

        java    -verbose   Test

 

       这样,我们就看到类的加载过程


 

在前面的几行中,我们发现org.apache.xerces.impl这PACKAGE 主要来自xercesImpl.jar.

 在第七行中,我们看到了org.apache.xerces.impl.xpath.regex.RegularExpression 来自xsdlib-20032005.jar

  这样,我们就成功找到了这个冲突的JAR包,果不其然,其中没有此RegularExpression(String a ,Sting b, Local local)构造函数

 

   这样我们移除此JAR的相关CLASS就可以解决这问题啦

 

   这里给了我们些提示的东西。。我们应该可以做一个去检测JAR包的工具,本人的对相关的API不是很熟,只能想到个笨的方法。就是解压所有到JAR,读取目录,组装类名,存到集合中,进行比较。如有大神有更好的建义,请指导。

 

 

  • 大小: 55.4 KB
  • 大小: 55.4 KB
  • 大小: 69 KB
  • 大小: 77.2 KB
分享到:
评论

相关推荐

    java.lang.NoSuchMethodError异常处理要点.doc

    在Java编程中,`java.lang.NoSuchMethodError`异常是一个运行时异常,通常发生在程序试图执行一个不存在的方法时。这个异常的出现通常意味着编译时和运行时的类版本不匹配,或者是在编译期间存在而运行时不存在的...

    解决 java.lang.NoSuchMethodError的错误

    解决 java.lang.NoSuchMethodError 的错误 Java.lang.NoSuchMethodError 错误是一种常见的 Java 异常,它发生在 Java 虚拟机 (JVM) 无法找到某个类的特定方法时。这种错误可能是由于项目依赖比较复杂、Java 运行...

    java.lang.NoSuchMethodError异常解决

    在Java编程中,`java.lang.NoSuchMethodError`异常是一个运行时异常,通常发生在尝试执行一个在编译时可用但在运行时不可用的方法时。这个异常表明某个已经加载的类定义了一个方法,但该方法的实际行为无法被找到。...

    java.lang.NoSuchMethodError: javax/servlet/jsp/PageContext.getELContext()Ljavax/

    NULL 博文链接:https://albert0707.iteye.com/blog/562969

    maven3.6.3资源包

    1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method 'void ()' not found at org.jetbrains.idea.maven.server.embedder....

    org.apache.commons.lang jar包下载(commons-lang3-3.1.jar)

    commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....

    解决启动Azkaban报错问题:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap

    在本文档的上下文中,错误发生在启动Azkaban时,具体表现为 `java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap`。Azkaban是一个开源的工作流执行器,用于调度和管理大数据处理...

    Android 出现:java.lang.NoClassDefFoundError…错误解决办法

    总之,面对`NoClassDefFoundError`这样的运行时异常,开发者需要有扎实的Android和Java基础,以及对类加载机制的理解,才能快速定位问题并进行修复。同时,持续关注Android版本更新和兼容性问题,以及保持良好的代码...

    xwork-core-2.3.37.jar

    用于解决struts2升级至2.3.37时 出现java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.put(Ljava/lang/异常时,更换的xwork-core-2.3.37.jar

    java 异常种类总结【转】.docx

    java.lang.NoSuchMethodError 是一种方法不存在错误,指的是在程序中尝试调用某个类的方法,但是该类的定义中没有该方法的定义时抛出的异常。 27. java.lang.OutOfMemoryError 内存不足错误 java.lang....

    hibernate3.2+cglib2.2架包

    在Java中,有时我们可能会遇到`java.lang.NoSuchMethodError`,这通常发生在运行时尝试执行一个在编译时存在但在运行时不存在的方法。对于这个问题,CGlib提供了解决方案。CGlib使用ASM库(一个Java字节码操纵和分析...

    slf4j-1.7.rar

    1.如果运行程序出现错误:“Exception in thread "main...3.错误:“Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.MDC.getCopyOfContextMap()Ljava/util/Map”,这是因为jar包版本冲突造成的。

    java web标签大全

    Java Web标签大全是一个涵盖广泛的资源,它集合了各种Web开发技术中的标签库,包括JSP、JSTL、Struts1、Struts2、JSF、FreeMarker、Spring和Velocity等。这些技术在构建动态、交互式的Web应用程序时起着至关重要的...

    New Developments In OpenSource Ecosystem Spark30 Koalas DeltaLake

    本文将深入探讨这些技术的最新发展及其对Java开发者的影响。 首先,Apache Spark 3.0 是一个强大的大数据处理框架,它的最新版本引入了诸多增强功能。对于Java开发者来说,Spark 3.0 提供了更高效的数据处理性能,...

    jedis-3.3.0.jar

    java.lang.NoSuchMethodError: redis.clients.jedis.ScanResult.getStringCursor()Ljava/lang/String; at org.crazycake.shiro.WorkAloneRedisManager.keys(WorkAloneRedisManager.java:149) at org.crazycake....

    pentaho kettle solutions

    - **性能瓶颈定位**:讲解了如何识别影响性能的因素。 - **提高性能**:提供了一系列优化 ETL 流程性能的方法。 - **作业性能改进**:针对特定作业提出了性能提升建议。 ##### 5.2 并行化、集群与分区 - **并行处理...

    Java开发常见错误及解决方案文件

    4. MyEclipse开发SSH整合错误(java.lang.NoSuchMethodError) - 环境说明:在MyEclipse5.5使用Struts1.2、Spring2.0、Hibernate3.1和Tomcat服务器时出现错误。 - 错误提示:如找不到用户实体类等。 - 原因分析:...

    Hibernate经典版 通过图解让你轻松Hibernate

    Hibernate经典版 通过图解让你轻松学会Hibernate

    java 图书管理系统

    登陆报错的问题 登录 java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 问题 导入数据库乱码解决方案: 人才管理系统项目详细文档说明 ========================================= 系统安装...

Global site tag (gtag.js) - Google Analytics