Problems
FileNotFoundException
YongE
2024. 5. 17. 15:02
개요
java.io.FileNotFoundException: class path resource [path/data.json] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/C:/app/app.jar!/BOOT-INF/classes!/path/data.json
플젝 중에 또 만나버린 오류...
File Not Found, 이름을 읽어보니 파일을 찾지 못한다고 한다.
지금까지 플젝에서 필수적인 데이터를 resouces 디렉터리에 넣고 테스트해왔다.
하지만 본격적으로 배포를 하니 이 부분에서 문제가 생겼다.
File file = new ClassPathResource("파일경로").getFile();
위와 같은 코드는 로컬에서 아무런 문제가 없다.
로컬 환경에서는 파일의 경로가 분명 했으나 jar로 빌드하고 서버에서 실행했을 때는 실제 파일 경로가 찾을 수 없는 것이다.
해결
그럼 위치에 맞게 해당 데이터를 읽어오면 된다!
프로젝트를 빌드하면 빌드된 리소스는 CLASS_PATH에 위치하게 된다.
이 위치에서 원하는 파일을 쉽게 가져올 수 있도록 Spring에서는 ClassPathResource 클래스를 제공한다!
ClassPathResource resource = new ClassPathResource("파일명");
나는 이 클래스를 위와 같이 활용하여 문제를 해결했다.
반응형