J'essaie de lister l'ordre dans lequel le chargeur de classes Java charge les classes. Si j'utilise -verbose
paramètre, il répertorie toutes les interfaces/classes qu'il charge, y compris des tonnes d'interfaces telles que sérialisables, exceptions, etc.
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 quelles classes un ClassLoader a chargé?
As-tu essayé -verbose:class
?
Voici une expression sed qui analysera la sortie de Java -verbose: class pour produire des paires de nom de classe chargé et son fichier jar. Vous pouvez continuer à passer par un tri pour obtenir des fichiers jar uniques. Pour 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