no pude encontrar una respuesta clara a esta pregunta en otro lugar, así que trataremos aquí:¿Cómo encontrar qué jarras y en qué orden las carga un cargador de clases?
¿Hay alguna manera (programática o de otro tipo) para obtener una lista de los frascos/clases cargadas por un cargador de clases de aplicaciones en el preciso orden que fueron cargados? Por Application Classloader me refiero al cargador de clases que carga una aplicación EAR en un servidor de aplicaciones (WLS, WAS, JBoss ...), pero obviamente se aplica a cualquier cargador de clases.
Por lo tanto, para generalizar, lo que me gustaría saber es la lista y el orden de los JAR cargados por un cargador de clases especificado. No clases individuales, eso es bastante fácil de averiguar llamando al classloader.getPackages(), pero una lista de archivos JAR cargados por este cargador de clases.
Gracias, kdgregory. Este es el enfoque que finalmente utilicé, básicamente escribí una utilidad que averigua la jerarquía del cargador de clases en el tiempo de ejecución y consulta cada cargador de clases qué lista de recursos han cargado usando el método getURLs() si está disponible. Funcionó bien para WLS y WAS. En el caso de WLS, sus propios cargadores de clases no extienden URLClassloader, pero sí tienen un método diferente, getClassPath(), que devuelve una lista ordenada de entradas de classpath. Y todos los cargadores de clases WAS parecen extender el cargador URLClass, así que getURLs() funcionó bien. Todavía no lo he probado en JBoss. Marina – Marina