넘어졌으면 일어서서 다시 걷자 🐈My GitHub🐈

Projects/Resolve 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("파일명");

 

나는 이 클래스를 위와 같이 활용하여 문제를 해결했다.

 

 

728x90
반응형