Использование метода ClassLoader для извлечения всех ресурсов в классах в качестве входных потоков
Моя проблема, как вы думаете, довольно распространенная, но мне пока не удалось найти решение.
Создание веб-приложения на Java под Tomcat 5.5 (хотя необходимо, чтобы оно могло быть развернуто в любом месте, например, в среде WebLogic, следовательно, загрузка ресурсов требовалась как потоки). Хорошая практика требует, чтобы файлы ресурсов помещались вWEB-INF / классы и загружается с помощью ClassLoader'sgetResourceAsStream () метод. Все хорошо, когда вы знаете название ресурса, который хотите загрузить.
Моя проблема заключается в том, что мне нужно загрузить все (в том числе рекурсивно в непустых подкаталогах), который живет в подкаталогеклассы.
Так, например, если у меня есть следующее подWEB-INF / классы:
folderX / folderY
folderX / folderY / fileA.properties
folderX / fileB.properties
Мне нужно, чтобы классы fileA.properties и fileB.properties загружались без фактического знания их имен перед запуском приложения (т.е. мне нужна возможность произвольной загрузки ресурсов из любого каталога в WEB-INF / classes).
Какой самый элегантный способ сделать это? Какой объект я могу запросить, чтобы найти нужную мне информацию (пути к ресурсам для каждого из требуемых ресурсов)? Лучше было бы использовать решение, не относящееся к сервлетам (если возможно, все это в рамках загрузки классов).
Заранее спасибо!