저는 파일 시스템의 리소스 (파일)로 작업하기 위해 Spring의 Resource 추상화를 사용하고 있습니다. 자원 중 하나는 JAR 파일 안에있는 파일입니다. 다음 코드에 따르면, 모든 잘하지만, 그때는 File
JAR에서 파일 가져 오기
templateResource.getFile();
에 Resource
를 변환하려고 할 때 예외를 얻을, 참조가이 시점에서
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
유효 나타납니다 JAR 파일 내부에 존재하는 Resource
에 File
참조를 얻을 수있는 올바른 방법은
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)
무엇입니까? 당신이 그것을 읽고 싶다면
가 나에게 InputStream를 줄 것이다,하지만 내가 정말 원하는 것은 당신이'File'으로 무엇을 할 것 인 파일 –
입니다 : (아래 그루비로 작성)? – Bozho
파일을 필요로하는 API에 전달하십시오. –