Java: программно определить все имена пакетов, загруженных в путь к классам

Есть какие-либо предложения относительно того, как мне найти список имен пакетов , которые существуют в текущем пути к классам ?

Это нужно сделать программно при запуске времени одним из классов, загруженных (и выполняющихся) в пути к классам (то есть наизнанку , а не снаружи внутри).


Подробнее:

Один из подходов, который я рассмотрел, заключался в использовании отражения для каждого из классы, загруженные до сих пор загрузчиком классов, и извлекают из них имена пакетов. Однако мое приложение уже работает с тысячами классов, поэтому мне нужен более эффективный подход.

Еще я подумал о чем-то аналогичном выяснению того, какие файлы JAR находятся в пути к классам, а затем параллельному выполнению списка каталогов для каждого JAR. Однако я не Не знаю, возможно ли это из приложения / как это сделать.

Бонусные баллы

Бонусные баллы для всех, кто предлагает способ фильтрации по пакетам верхнего уровня. Например, показать все пакеты, которые входят в состав com.xyz ==> com.xyz. * , com.xyz. *. *

Спасибо!

10
задан bguiz 21 November 2010 в 04:32
поделиться