본문 바로가기
사이드 프로젝트/GetABeer

[사이드 프로젝트] EP. 13 제대로 정신 차리고 확인하기

by Bhinney 2023. 2. 23.

🍺DATE : 2023.02.22 WED


📁 제대로 정신 차리고 확인하기

 

csv 파일을 찾지 못하는 에러가 발생하였다. 

아래의 코드처럼 계속해서 문제가 생겼다.

ava.io.FileNotFoundException: src/main/java/be/global/init/Get_A_Beer_Products.csv (No such file or directory)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileReader.<init>(FileReader.java:75)
	at be.global.init.Init.stubInit(Init.java:96)
	at be.global.init.Init$$EnhancerBySpringCGLIB$$96bc4907.CGLIB$stubInit$0(<generated>)
	at be.global.init.Init$$EnhancerBySpringCGLIB$$96bc4907$$FastClassBySpringCGLIB$$f57ca555.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
	at be.global.init.Init$$EnhancerBySpringCGLIB$$96bc4907.stubInit(<generated>)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)

그래서 상대경로가 아닌 절대경로도 해보았는데 문제는 쉽게 해결되지 않았다.

그래서 하나하나 프린트를 하며, 제대로 경로가 들어가는지 그리고 파일이 제대로 형성 되는지 확인해보았다.

 

처음에는 경로가 들어가는 거처럼 보여서 큰 문제가 없는 줄 알았다.

하지만 알고보니 경로에서 하나의 폴더가 빠져있던 것...

 

그래서 파일을 제대로 찾지 못했던 것이다.

아래처럼 적혀있던 상대경로가 에러를 만난 상대경로다.

 

String FILE_PATH = "src/main/java/be/global/init/Get_A_Beer_Products.csv";

아래처럼 바꾸어주니 해결이 되었다.

 

 

String FILE_PATH = "be/src/main/java/be/global/init/Get_A_Beer_Products.csv";

우리 프로젝트에서 최상위 폴더 아래에 be 폴더가 있고 그 아래에 자바 폴더들이 들어오는데, 여기서 be 폴더는 자동으로 찾아지지 않았던 것이다. 그래서 상대경로든 절대경로든 불러오면, be가 빠져서 해당 경로를 통한 파일을 찾지 못했던 것이다..

 

앞으로 경로를 확인할 때에는 꼭 로그를 찍어줘보아야 할 듯 하다...

 

이 "be/" 세 문자로 해결을 하기 까지 무려 4시간이 걸렸다..

 

로그를 찍을 때 꼼꼼히 확인하지 못했던 탓이다.

 

앞으로 경로는 꼭! 꼼꼼히 확인하도록 해야겠다.


 

 

 

댓글