Irgendwelche Vorschläge, wie geladen bestimmen zu nähern, wie ich eine Liste von Paketnamen finden würde die auf dem aktuellen Classpath existieren?Java: programmatisch alle der Paketnamen auf dem Classpath
Dies muss programmgesteuert zur Laufzeit von einer der Klassen durchgeführt (und ausgeführt) auf dem Klassenpfad (d. H. Inside Out, nicht außerhalb in).
Weitere Details:
Ein Ansatz war ich als Reflexion auf jede der Klassen so weit von der Klassenlader geladen zu verwenden, und extrahieren daraus die Paketnamen. Meine Anwendung läuft jedoch bereits in Tausenden von Klassen, daher brauche ich einen effizienteren Ansatz.
Eine andere Sache, ich war als etwas analog zu herauszufinden, was JAR-Dateien im Klassenpfad waren, und dann tun Sie das Verzeichnis für jede JAR-Eintrag parallel. Ich weiß jedoch nicht, ob dies aus der Anwendung heraus möglich ist/wie es gemacht wird.
Bonuspunkte
Bonuspunkte für jeden, der eine Art und Weise schlägt vor, die von Top-Level-Pakete filtern. Z.B. zeige alle Pakete, die unter com.xyz
kommen ==> , com.xyz.*.*
Vielen Dank!
Ich kenne VFS aber wusste nicht über diese Funktionalität. Könnten Sie bitte einen Tipp geben, welche Klasse hilft, den Klassenpfad zu scannen? – AlexR