【java】java类/方法冲突解决工具

2023-12-13 04:27:09

目录下查找包含特定名称(如:类名称)的Jar包

上代码:

比如要查找含有类 “org/apache/avro/Schema” 的:

# 方法一
# 此方法只能查找到内容(比如:类名称)。但是不能打印jar名称
find . -name "*.jar"|awk '{print "jar -tvf "$1}' | sh | grep "org/apache/avro/Schema"

# 方法二
# 此方法只能查找到内容(比如:类名称)。但是不能打印jar名称
find . -name "*.jar" -exec jar -tf {} \; | grep avro

# 方法三
# 此方法通过删除参数 -q (quiet) 可以 选择是否打印实际找到内容(比如:类名称)
find . -name '*.jar' | while read jarfile; do if jar tf "$jarfile" | grep org/apache/avro/Schema -q; then echo "$jarfile"; fi; done

在这里插入图片描述

java启动打印类加载状态

# 只需要加入-verbose:class选项即可
# 比如:
java -verbose:class -classpath your.jar your.class

参考文章:
Java - java.lang.NoSuchMethodError: xxx 错误详解 文章介绍了-verbose:class使用方法。
ClassLoader—观察程序运行时类加载的过程-verbose:class 文章介绍了-verbose:class使用方法。
解析java字节码 NoSuchMethodError等 对应的参数列表类型可以参考此文章。

文章来源:https://blog.csdn.net/lisacumt/article/details/134949980
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。