Wie kann ich Ressourcen in einem Java-Jar mit einem Platzhalternamen erkennen?

8

Ich möchte alle XML-Dateien erkennen, die mein ClassLoader mit einem Platzhaltermuster kennt. Gibt es eine Möglichkeit, dies zu tun?

    
sblundy 25.09.2008, 13:11
quelle

5 Antworten

5

Es erfordert ein wenig Tricks, aber hier ist ein relevanter Blog-Eintrag . Sie ermitteln zuerst die URLs der Gläser, öffnen dann das Glas und scannen seinen Inhalt. Ich denke, dass Sie die URLs aller Gläser entdecken würden, indem Sie nach "/META-INF/MANIFEST.MF" suchen. Verzeichnisse wären eine andere Sache.

    
sblundy 25.09.2008, 13:28
quelle
7

Ein Spring ApplicationContext kann das trivial tun:

%Vor%

Siehe ResourcePatternResolver # getResources oder ApplicationContext .

    
flicken 26.09.2008 11:41
quelle
6
%Vor%

füge das Snippet in deine pom.xml ein

%Vor%     
Serhat 19.05.2013 21:59
quelle
1
___ qstnhdr ___ Wie kann ich Ressourcen in einem Java-Jar mit einem Platzhalternamen erkennen? ___ answer16639899 ___
%Vor%

füge das Snippet in deine pom.xml ein

%Vor%     
___ answer133319 ___

Es erfordert ein wenig Tricks, aber hier ist ein relevanter Blog-Eintrag . Sie ermitteln zuerst die URLs der Gläser, öffnen dann das Glas und scannen seinen Inhalt. Ich denke, dass Sie die URLs aller Gläser entdecken würden, indem Sie nach "/META-INF/MANIFEST.MF" suchen. Verzeichnisse wären eine andere Sache.

    
___ answer138923 ___

Ein Spring ZipSearcher searcher = new ZipSearcher(new ZipInputStream(new FileInputStream("my.jar"))); List xmlFilenames = searcher.search(new RegexFilenameFilter(".xml$")); kann das trivial tun:

%Vor%

Siehe ResourcePatternResolver # getResources oder ApplicationContext .

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ answer133280 ___

Nun, es ist nicht von Java, aber

%code%

zeigt Ihnen alle XMLs im Jar.

    
___ antwort133450 ___

Eine JAR-Datei ist nur eine andere ZIP-Datei, oder?

Ich nehme an, Sie könnten die Jar-Dateien mit Ссылка

Ich denke so etwas wie:

%code%

Prost. Keith.

    
___ tag123classpath ___ In Java teilt der Klassenpfad der Java Virtual Machine mit, wo beim Ausführen von Java-Programmen nach benutzerdefinierten Klassen und Paketen gesucht werden soll. Der Klassenpfad ist ein Parameter und kann entweder in der Befehlszeile oder über eine Umgebungsvariable festgelegt werden. ___ qstntxt ___

Ich möchte alle XML-Dateien erkennen, die mein ClassLoader mit einem Platzhaltermuster kennt. Gibt es eine Möglichkeit, dies zu tun?

    
___
corlettk 25.09.2008 13:47
quelle
-4

Nun, es ist nicht von Java, aber

jar -tvf jarname | grep xml$

zeigt Ihnen alle XMLs im Jar.

    
Steve B. 25.09.2008 13:22
quelle

Tags und Links