Question

Supposons que mes classes sont chargées à partir d'un fichier .war compressé ou chargé ailleurs, Comment puis-je découvrir toutes les ressources d'un paquet donné? L'énumération des fichiers ne fonctionnera pas vraiment, puisqu'il s'agit d'un fichier war. Cela impliquera-t-il probablement d'utiliser le chargeur de classes actuel?

Y at-il une bibliothèque qui fait quelque chose comme ça? Google n'a révélé que quelques piratages avec des fichiers listés.

Était-ce utile?

La solution

Non, vous ne pouvez pas répertorier les ressources dans un package car la machine virtuelle Java ne sait tout simplement pas quelles ressources se trouvent dans quel package. Voir ceci question .

Autres conseils

Oui. Vous pouvez utiliser ClassLoader.getResources (")) ;

Ou vous pouvez utiliser l'API de furet:
https://www.ohloh.net/p/pureperfect-ferret

Cette API vous permet d'analyser le chemin d'accès aux classes ainsi que les archives et les répertoires arbitraires à l'aide du modèle de visiteur.

Spring Framework propose une classe appelée PathMatchingResourcePatternResolver . Avec cette classe, vous pouvez donner des chemins de style Ant avec des caractères génériques et il trouvera les ressources appropriées à votre place (recherche dans les dossiers et les fichiers JAR du chemin de classe).

Je fais ceci: - avant l’emballage, ls myResources / *. ext > myResources / list.txt - il suffit ensuite de lire le fichier en premier

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top