2016-11-09 3 views
1

У меня есть проект мультимодуля maven. Один модуль имеет несколько зависимостей от других модулей в проекте maven. Я хотел бы проверить, какой модуль верхнего уровня каждый класс находится во время выполнения - есть ли способ сделать это с отражением?Определить модуль во время выполнения

Для примера:

com.company:running-module:jar:1.0.0 
+- com.company:top-level-module-1:jar:1.0.0:compile 
| \- com.company:low-level-module-1:jar:1.0.0:compile 
|  \- ClassOfInterest.java 
+- com.company:top-level-module-2:jar:1.0.0:compile 
| \- com.company:low-level-module-1:jar:1.0.0:compile 
|  \- ClassOfInterest.java 
\- com.company:top-level-module-3:jar:1.0.0:compile 
    \- com.company:low-level-module-2:jar:1.0.0:compile 
     \- OtherClassOfInterest.java 

Проверка ClassOfInterest вернется top-level-module-1 и top-level-module-2 при осмотре OtherClassOfInterest вернется `верхнего уровня-модуль-3.

+0

Зачем вам нужна эта информация? Какую проблему вы пытаетесь решить? – khmarbaise

ответ

0

Если есть способ сделать это, это будет очень хаки.

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

Смежные вопросы