"Agh for crying out loud, I know that that Java class is in one of these two hundred JARs, just tell me which one!"
Python 3 because that was quickest
findclass.py
:
import os, sys, zipfile top = sys.argv[1] # e.g. "C:\\Program Files (x86)" classname = sys.argv[2] # e.g. "javax.wsdl.factory.WSDLFactory" member = "/".join(classname.split(".")) + ".class" # e.g. "javax/wsdl/factory/WSDLFactory.class" for dirpath, _, filenames in os.walk(top): for filename in filenames: if not filename.endswith(".jar"): continue filename = os.path.join(dirpath, filename) with zipfile.ZipFile(filename) as jar: if member in jar.namelist(): print(filename)
Usage:
python findclass.py "C:\\Program Files (x86)" javax.wsdl.factory.WSDLFactory
Discussion (4)
2013-06-11 23:20:51 by qntm:
2013-06-15 16:16:56 by David:
2013-06-15 22:10:58 by qntm:
2015-12-25 23:19:21 by neo: