반응형
문제 발생
apache poi를 사용한 엑셀 다운로드 시, 다음과 같은 에러 발생하여 내용 기록
원인 분석
엑셀 다운로드 시, createTempFile() 함수에서 임시 경로를 만드는데, 코드는 다음과 같습니다.
이 함수 내용 중 경로에 해당하는 부분은 아래와 같습니다.
new File(System.getProperty("java.io.tmpdir"), "poifiles");
java.io.tmpdir의 경로는 환경에 따라 다르기 때문에 다음과 같이 코드를 작성하여 확인이 필요합니다.
public static void main(String[] args) {
String tempDir = System.getProperty("java.io.tmpdir");
System.out.println(tempDir);
}
저의 경우에는 아래와 같은 경로였습니다.
C:\Users\사용자계정\AppData\Local\Temp
해결 방법
poi는 java.io.tmpdir 경로에 poifiles에 임시 파일을 만드는데 poifiles 폴더에 쓰기 권한이 없어서 발생한 문제입니다.
해결방법 1
java.io.tmpdir 및 poifiles에 쓰기 권한 부여
해결방법 2
java 프로그램 실행 시 프로그램에 권한 부여
728x90
반응형
'back end > java' 카테고리의 다른 글
자바 클래스 파일 버전 확인하는 방법 (0) | 2023.11.05 |
---|---|
Spring Boot JPA에서 SQL 로그 출력하기 (0) | 2023.11.05 |
[JPA] deleteAll을 했는데 delete가 N개 발생하는 이유에 대하여 (1) | 2023.09.11 |
Java Optional에 대한 설명과 예제 코드 (0) | 2023.07.09 |
HttpClient5에서 SSL(인증서) 무시하는 방법 (0) | 2023.06.27 |