Подтвердить что ты не робот

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

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

Есть ли там библиотека, которая делает что-то подобное? Googling выявил только некоторые хаки с листинговыми файлами.

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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