java开发或者服务器日志中偶尔会遇到某个类找不到,或者知道大概的class名字,但是不确定输入哪个jar包,想从本地maven仓库或者私服中查找?
查找某个类所属jar包
#!/usr/bin/python
# -*- coding: utf-8 -*-
#######################################
#文件名: bin_findjar.py
#参数1 jar的路径,支持目录
#参数2 class名字的关键字
########################################
import os
import sys
path=""
if len(sys.argv)>= 3:
path=sys.argv[1]
value=sys.argv[2].strip()
else:
print "参数有误。。。"
sys.exit()
for d in os.listdir(path):
if d.endswith("jar"):
#print "unzip -l "+ path+"/"+d+" | grep "+value
pipe=os.popen("unzip -l "+ path+"/"+d+" | grep "+value)
string= pipe.read()
pipe.close()
if len(string)<=0:
pass
else:
print "path:"+d
print string
else:
pass
运行结果:
./bin_findjar.py ~/.m2/repository/org/yu/util/yuutil/1.0/ DbHelper
- 第一个参数目录: ~/.m2/repository/org/yu/util/yuutil/1.0/
- 第二个参数类名: DbHelper
path:yuutil-1.0.jar
817 06-29-2017 19:59 org/yu/util/db/DbHelper$1.class
4758 06-29-2017 19:59 org/yu/util/db/DbHelper.class
注意:
脚本在linux和mac下测试通过,windows下建议在cygwin环境下测试。
网友评论