Finden Sie Java-Klassenabhängigkeiten zur Laufzeit

Was ist der effektivste Weg, um eine Liste der Abhängigkeiten für eine Java-Klasse zur Laufzeit abzurufen?

Verwendendiese (basierend auf ASM ByteCode Manipulator 3.3.1) kann ich Folgendes tun:

final Collection<Class<?>> classes = 
  getClassesUsedBy(MyService.class.getName(), "com");

Dies gibt Verweise auf zurückBasicService&nbsp;undIService, aber vermisstContainerValueund das ist das Problem. Ich habe mit dem ASM-Code herumgespielt, konnte aber nicht herausfinden, wie ich ContainerValue abholen soll.

package com.foo.bar;

    public class MyService extends BasicService implements IService {
         public String invoke(){
            return new ContainerValue("bar").toString();
    }

Als Randnotiz, wenn ich das macheContainerValue&nbsp;der Rückgabetyp aufinvoke, Es klappt.

Gibt es eine Alternative zur Verwendung von ASM, um eine Liste der Abhängigkeiten für eine Klasse abzurufen? Warum zum Teufel ist das so schwierig?