Non ho trovato una risposta chiara a questa domanda altrove, quindi proverò qui:Come trovare i barattoli e in quale ordine vengono caricati da un classloader?
C'è un modo (programmatico o altro) per ottenere un elenco di JAR/classi caricati da un Application Classloader nel preciso ordina che siano stati caricati? Per Application Classloader intendo il classloader che carica un'applicazione EAR in un server applicazioni (WLS, WAS, JBoss ...), ma ovviamente si applica a qualsiasi programma di caricamento classi.
Quindi, per generalizzare, quello che vorrei scoprire è l'elenco e l'ordine dei JAR caricati da un classloader specificato. Non singole classi, è abbastanza facile scoprirlo chiamando il classloader.getPackages(), ma un elenco di file JAR che sono stati caricati da questo classloader.
Grazie, kdgregory. Questo è l'approccio che ho usato infine - in pratica ho scritto un'utilità che calcola la gerarchia del classloader in fase di esecuzione e interroga ogni classloader quale lista di risorse hanno caricato usando il metodo getURLs() se disponibile. Ha funzionato bene sia per WLS che per WAS. Nel caso di WLS, i propri programmi di caricamento classi non estendono URLClassloader, ma hanno un metodo diverso, getClassPath(), che restituisce un elenco ordinato di voci del percorso di classe. E tutti i classloader di WAS sembrano estendere l'URLClassloader, quindi getURLs() ha funzionato bene. Non l'ho ancora provato su JBoss. Marina – Marina