Найти зависимости класса Java во время выполнения
Какой самый эффективный способ получить список зависимостей для класса Java во время выполнения?
С помощьюэто (на основе ASM ByteCode Manipulator 3.3.1) я могу сделать следующее:
final Collection<Class<?>> classes =
getClassesUsedBy(MyService.class.getName(), "com");
Это возвращает ссылки наBasicService
а такжеIService
, но скучаетContainerValue
и это проблема. Я играл с кодом ASM, но не мог понять, как подобрать ContainerValue.
package com.foo.bar;
public class MyService extends BasicService implements IService {
public String invoke(){
return new ContainerValue("bar").toString();
}
Как примечание стороны, если я сделаюContainerValue
тип возврата наinvoke
, оно работает.
Есть ли альтернатива использованию ASM для получения списка зависимостей для класса? Какого черта это так сложно?