SMALL
무엇을 하다가?
RestfulAPI 프로젝트 공부하다가 파일을 받아와서 서버에 있는 로컬 src/resource 쪽에 저장할려고 하였다. 그래서
절대경로를 작성해도 되지만, Spring 프로젝트가 만약에 다른 곳에서도 실행된다면 즉, 협업 또는 AWS 에 올린다면 절대 경로를 찾지 못하니 오류가 나올것 같아서 알아서 찾아와 주는것에 대해 찾아보고 하였다.
에러 발생지점
File currentClassFile = new File(getClass().getProtectionDomain().getCodeSource().getLocation().toURI());
Path currentPath = currentClassFile.toPath();
Path srcPath = currentPath.getParent().getParent();
System.out.println("?! : " + srcPath.toString());
out/resource 파일 경로에 접근이 된다. 이렇게 될시 Spring 는 재부팅을 실시하게 된다. 파일이 들어와 저장할때마다 재부팅이 되므로 쓰면 안되는 코드이지만 src 에 접근해서 경로를 가져온다면 괜찮았을텐데...
해결
결국엔 찾다 못해 절대경로로 임시방편으로 해결하고 나중에 AWS S3 이용하여 저장하거나 다른 방법을 강구해야겠다.
반응형
LIST
'TIL' 카테고리의 다른 글
인텔리제이 환경변수 오류 (0) | 2023.06.17 |
---|---|
DB 예약어 Table 이름 (0) | 2023.06.13 |
Spring Security AuthenticationProvider / BCryptPasswordEncoder match 에러 (2) | 2023.06.07 |
RedisConfig 에서 오류 발생. (0) | 2023.06.01 |
동기와 비동기 방식 / 스레드 풀 (0) | 2023.04.27 |