해결:class path resource [] cannot be resolved to absolute file path

3481 단어 #일상적인 문제
오류 메시지
java.io.FileNotFoundException: class path resource [template/inuModel.inu] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/usr/local/jar/dmb-core.jar!/BOOT-INF/classes!/template/inuModel.inu

오류 코드
//  inu    
Resource resource = new ClassPathResource("template/inuModel.inu");
File inuModel = resource.getFile();

오보 원인ClassPathResource를 통해 Resources 디렉터리에 있는 템플릿 파일을 가져올 때 직접 resource.getFile() 가져오면 오류가 발생합니다.
프로젝트가jar 형식으로 구축된 후에 Resources 디렉터리에 있는 파일은 시스템에 직접 존재하는 것이 아니라jar 파일에 끼워 넣는 것이기 때문이다.
해결 방법resource.getInputStream() 방법으로 이 파일을 획득한 InputStream;그런 다음 org.apache.commons.io.FileUtilscopyToFile() 방법 또는 copyInputStreamToFile() 방법을 사용하여 스트리밍된 대상 파일을 복사합니다.
//  inu    
Resource resource = new ClassPathResource("template/inuModel.inu");
File inuModel = new File(filePath);
FileUtils.copyToFile(resource.getInputStream(), inuModel);

좋은 웹페이지 즐겨찾기