Frage

Lets nehme an, dass meine Klassen geladen werden, die aus einem komprimierten .war-Datei geladen oder anderswo, wie kann ich erkennen, alle Ressourcen in einem Paket?Das auflisten der Dateien wird nicht wirklich funktionieren, da dies eine war-Datei.Höchstwahrscheinlich wird dies mit der aktuellen classloader?

Gibt es eine Bibliothek gibt, die so etwas macht das?Googeln ergab nur einige hacks, mit einer Auflistung aller Dateien.

War es hilfreich?

Lösung

Nein, Sie können keine Liste von Ressourcen in einem Paket, weil die JVM weiß einfach nicht, welche Ressourcen sind in welchem Paket.Finden diese Frage.

Andere Tipps

Ja. Sie können ClassLoader.getResources("") verwenden;
Oder könnten Sie Frettchen-API verwenden:
https://www.ohloh.net/p/pureperfect-ferret

Diese API ermöglicht es Ihnen, den Klassenpfad sowie beliebige Archive und Verzeichnisse mit dem Besuchermuster zu scannen.

Das Spring Framework bietet eine Klasse namens PathMatchingResourcePatternResolver . Mit dieser Klasse können Sie Ant Stil Pfade mit Platzhalter geben und es werden die entsprechenden Ressourcen für Sie (Suche durch die Ordner und Gläser auf dem Classpath) finden.

Ich tue dies: - vor dem Verpacken, ls myResources/*.ext > myResources/list.txt - dann lesen Sie einfach die Datei zuerst

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top