Могу ли я перечислить ресурсы в данном пакете?

Предположим, что мои классы загружены из сжатого файла.war или загружены в другом месте, как я могу обнаружить все ресурсы в данном пакете? Перечисление файлов на самом деле не будет работать, так как это файл войны. Скорее всего, это будет связано с использованием текущего загрузчика классов?

Есть ли библиотека, которая делает что-то подобное? Поиск в Google показал только несколько взломов с перечислением файлов.

4 ответа

Решение

Нет, вы не можете перечислить ресурсы в пакете, потому что JVM просто не знает, какие ресурсы в каком пакете. Смотрите этот вопрос.

Да. Ты можешь использовать ClassLoader.getResources("");

Или вы можете использовать API хорька:
https://www.ohloh.net/p/pureperfect-ferret

Этот API позволяет сканировать путь к классам, а также произвольные архивы и каталоги, используя шаблон Visitor.

Spring Framework предлагает класс под названием PathMatchingResourcePatternResolver, С помощью этого класса вы можете задавать пути в стиле Ant с подстановочными знаками, и он найдет для вас соответствующие ресурсы (поиск по папкам и банкам на пути к классам).

Я делаю это: - перед упаковкой, ls myResources/*.ext > myResources/list.txt- тогда сначала просто прочитайте файл

Другие вопросы по тегам