estoy usando Resource abstracción de primavera para trabajar con recursos (archivos) en el sistema de archivos. Uno de los recursos es un archivo dentro de un archivo JAR. De acuerdo con el siguiente código, parece que la referencia es válidaobtener el archivo JAR desde
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
En este punto, todo está bien, pero luego cuando intento convertir el Resource
a un File
templateResource.getFile();
tengo la excepción
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)
Cuál es la forma correcta para obtener una referencia a un File
Resource
que existe dentro de un archivo JAR?
que me dará un InputStream, pero lo que realmente quiero es un archivo –
¿qué vas a hacer con ese 'File'? – Bozho
Pásalo a una API que requiera un archivo –