Ich verwende Spring's Ressource Abstraktion, um mit Ressourcen (Dateien) im Dateisystem zu arbeiten. Eine der Ressourcen ist eine Datei innerhalb einer JAR-Datei. Dem folgenden Code zufolge scheint der Verweis gültig zu sein
ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
// The path to the resource from the root of the JAR file
Resource fileInJar = resourcePatternResolver.getResources("/META-INF/foo/file.txt");
templateResource.exists(); // returns true
templateResource.isReadable(); // returns true
Zu diesem Zeitpunkt ist alles in Ordnung, aber wenn ich dann versuche, die Resource
zu einer File
templateResource.getFile();
Ich erhalte die Ausnahme
java.io.FileNotFoundException: class path resource [META-INF/foo/file.txt] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/m2repo/uic-3.2.6-0.jar!/META-INF/foo/file.txt
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:198)
at org.springframework.core.io.ClassPathResource.getFile(ClassPathResource.java:174)
Was ist der richtige Weg, um eine File
Verweis auf eine Resource
die innerhalb einer JAR-Datei existiert?