Pregunta

Supongamos que mis clases se cargan desde un archivo comprimido .war o se cargan en otro lugar, ¿Cómo puedo descubrir todos los recursos en un paquete dado? Enumerar los archivos realmente no funcionará, ya que este es un archivo de guerra. ¿Lo más probable es que esto implique el uso del cargador de clases actual?

¿Hay una biblioteca por ahí que haga algo así? Google reveló solo algunos hacks con archivos de listado.

¿Fue útil?

Solución

No, no puede enumerar recursos en un paquete porque la JVM simplemente no sabe qué recursos hay en qué paquete. Ver esto pregunta .

Otros consejos

Sí Puede usar ClassLoader.getResources (" ") ;

O podría usar la API de hurón:
https://www.ohloh.net/p/pureperfect-ferret

Esta API le permite escanear la ruta de clase, así como archivos y directorios arbitrarios utilizando el patrón Visitante.

Spring Framework ofrece una clase llamada PathMatchingResourcePatternResolver . Con esta clase, puede proporcionar rutas de estilo Ant con comodines y encontrará los recursos relevantes para usted (buscando entre las carpetas y los frascos en el classpath).

Hago esto: - antes del embalaje, ls myResources / *. ext > myResources / list.txt - solo lea el archivo primero

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top