美文网首页
jar包冲突解决(NoSuchMethod)办法

jar包冲突解决(NoSuchMethod)办法

作者: 雨中星辰0 | 来源:发表于2023-10-22 10:24 被阅读0次

概述

有的时候项目会经常出现jar包冲突的问题,我们在项目中引入了好几个不同版本的jar包,如何确定运行时,使用的那个jar包,是一个难题。

  1. 使用arthas的sc命令
$ sc -d demo.MathGame
class-info        demo.MathGame
code-source       /private/tmp/math-game.jar
name              demo.MathGame
isInterface       false
isAnnotation      false
isEnum            false
isAnonymousClass  false
isArray           false
isLocalClass      false
isMemberClass     false
isPrimitive       false
isSynthetic       false
simple-name       MathGame
modifier          public
annotation
interfaces
super-class       +-java.lang.Object
class-loader      +-sun.misc.Launcher$AppClassLoader@3d4eac69
                    +-sun.misc.Launcher$ExtClassLoader@66350f69
classLoaderHash   3d4eac69

Affect(row-cnt:1) cost in 875 ms.
  1. 在开发时,加入代码打印jar包的路径
    例如:
URL resource = ServiceBus.class
  .getClassLoader()
  .getResource("dcloud/common/InnerServiceBus/ServiceBus.class");
System.out.println(resource);

打印结果:

jar:file:/D:/maven/repository/com/epri/zeus-core/2.0.3/zeus-core-2.0.3.jar!/dcloud/common/InnerServiceBus/ServiceBus.class

相关文章

网友评论

      本文标题:jar包冲突解决(NoSuchMethod)办法

      本文链接:https://www.haomeiwen.com/subject/oibridtx.html