NoSuchMethodError错误】的更多相关文章

作为Java开发者我们都遇到过java.lang.NoSuchMethodError错误,究其根源,是JVM的"双亲委托模型"引发的问题.如果在类路径下放置了多个不同版本的类包,如commons-lang2.x.jar 和 commons-lang4.x.jar 都位于类路径中,代码中用到了commons-lang4.x类的某个方法,而这个方法在commons-lang2.x.jar中并不存在,JVM加载器碰巧又从 commons-lang2.x.jar中加载类,运行时就会抛出 NoS…
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.…
刚开始通过网上查到相关的资料进行了一些配置,参考链接:http://www.open-open.com/lib/view/open1454374782167.html maven的dependencies如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.2.3.RELEASE&l…
今天碰到一个java.lang.NoSuchMethodException的异常.基本解决思路是: 1.检查类所在jar包的版本是否正确. 2.检查是否有jar包冲突,比如加载了多个版本的xxx.jar. 如果是maven工程,可以通过mvn dependency:tree来显示工程的依赖树. 3.如果还无法定位,可以通过以下方法来找到工程实际加载的类属于哪个jar包. Class<?> clazz = Class.forName("com.xxx.xxx.XXX"); #…
发生原因: 一个项目中包含有相同名字,但内容不同的包 解决办法:删除其中暂时不用的包 后记:如果不知道哪一个包是多余的,直接用IDE查找:找到该类,然后将该包进行反编译,再次导入该项目,再找到该类,出错的那一行,这样就能够看出到底是缺失的什么东西, 最后,找到缺少东西的包,直接删除该包,即可…
调用thrift接口压测的jar包,出现了错误:java.lang.NoSuchMethodError: 错误可能的原因: 有这个类,该类真的没有这个方法 有这个类,而且有好几个,他们之间发生了冲突 解决办法: 1. 查看生成jar包的maven工程,看thrift文件中是否有该方法,如果没有,就是thrift文件版本问题或调用函数出错 2. 若thrift文件中有此方法,就查看jmeter目录lib/ext下有关该方法的jar有几个,删除旧的jar包,调用最新的jar包,试运行看看 ps:一般…
背景: 实现一个简单的功能,需要用到jedis的jar包连接Redis.在之前便已经有使用jedis,它的版本比较旧,是2.1的.而新实现的功能,在编码的时候使用的是2.8的.在开发环境完成单元测试后,将编译好的class文件拷贝更新至测试环境.因种种原因,导致功能无法运行,排查后,觉得可能是jedis版本问题.于是,将jedis的版本重新降为2.1.运行,开始报如题错误. 报错: java.lang.NoSuchMethodError   PS:报这个错误的方法或者类明明存在,但是系统就是报这…
在測试App的过程中,Activity调用了isDestroyed()方法,报出了java.lang.NoSuchMethodError错误. 自己手机MI 2S,版本号4.1.1. 事实上原因就是isDestroyed()这种方法是在4.2引入的,所以在4.1.1上调用此方法会报错. 须要做一下版本号的推断了,Build.VERSION.SDK_INT < 17. 那么问题来了.怎样推断某个函数引入的版本号呢?从android开发人员站点就能够发现. 事实上想在源代码里面看到,但是源代码里面没…
Java虚拟机JVM学习03 连接过程:验证.准备.解析 类被加载后,就进入连接阶段. 连接就是将已经读入到内存的类的二进制数据合并到虚拟机的运行时环境中去. 连接阶段三个步骤:验证.准备和解析. 类的验证 类的验证内容: 1.类文件的结构检查 确保类文件遵从Java类文件的固定格式. 2.语义检查 确保类本身符合Java语言的语法规定,比如验证final类型的类没有子类,以及final类型的方法没有被覆盖. 注意,语义检查的错误在编译器编译阶段就会通不过,但是如果有程序员通过非编译的手段生成了…
类的加载.连接与初始化                  • 1. 加载:查找并加载类的二进制数据         • 2. 连接             – 2.1 验证:确保被加载的类的正确性             – 2.2 准备:为类的静态变量分配内存,并将其初始化为默认值              – 2.3 解析:把类中的符号引用转换为直接引用         • 3. 初始化:为类的静态变量赋予正确的初始值         以下代码执行结果可以更清楚的理解上面的过程 1 2 3…