J’essaie de lister l’ordre dans lequel le chargeur de classe Java charge mes classes. Si -verbose
paramètre -verbose
, il -verbose
chaque interface / classe unique qu’il charge, y compris des tonnes d’interfaces telles que Serializable, des exceptions, etc. est défini?
Je suppose que votre meilleur pari est de faire ce qui suit:
main
démarre et juste avant sa fin. Il y a une question similaire et quelques réponses ici: Existe – t-il un moyen d’obtenir les classes qu’un ClassLoader a chargées?
Avez-vous essayé -verbose:class
?
Voici une expression sed qui parsingra la sortie de java -verbose: class pour produire des paires de nom de classe chargé et de son fichier jar. Vous pouvez également utiliser un sorting pour obtenir des fichiers jar uniques. Par exemple,
java -verbose:class -version 2>/dev/null | sed -ne 's/\[Loaded \(.\+\) from \(.\+\)\]/\2/p' | sort -u
les sorties
/usr/local/jdk1.7.0_67/jre/lib/rt.jar