아장아장 개발 일기

Jar 파일 PathNotFound 오류 해결 방법 본문

개발/Spring

Jar 파일 PathNotFound 오류 해결 방법

빨간머리 마녀 🍒 2022. 10. 21. 16:55

IntelliJ에서 프로그램을 실행시켰을땐 잘 찾아지던 file이 Jar파일로 만든후 해당 파일을 찾으려하면 FileNotFound Exception이 발생했다.

 

검색해보니 이미 여러 사람이 비슷한 오류를 경험한 듯 했다.

 

왜 IntelliJ에서는 잘 찾아지던게 Jar로 실행시키면 안되는건지 찾아보니, 

 

Jar 파일 안의 리소스들은 file이 아닌, stream이기 때문

이라고 한다.

 

(기존 소스)

ClassPathResource resource = new ClassPathResource(FilePath);
String someText = new String(Files.readAllBytes(Paths.get(resource.getURI())));

(변경후)

InputStream resourceStream = getClass().getResourceAsStream("fileName")
BufferedReader br = new BufferedReader(new InputStreamReader(resourceStream));
String line;
StringBuilder someText = new StringBuilder();
while ((line = br.readLine()) != null) {
	someText.append(line).append('\n');
}

 

참고

https://stackoverflow.com/questions/47917335/loading-files-from-resource-folder-using-java-jar

Comments