[이슈해결] NPE at HSSFSheet.autoSizeColumn
환경: java8
엑셀 다운로드 기능을 서버에 배포하면 NPE가 나면서 안되는 현상, 특이사항으로는 배포 시 되는 서버가 있고 안되는 서버가 있었음
org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:1937)
에러 발생 코드
workbook.getSheetAt(0).autoSizeColumn(colIndex);
소스 상 딱히 null이 날 곳이 없었다.
되는 곳이 있고 안되는 곳이 있어, 환경의 문제에서 나온게 아닌가 싶어 구글링 하던 중 아래 글들을 보게된다.
설마 싶어 되는 서버와 안되는 서버의 자바 내 폰트 설정파일을 확인해보니
진짜 폰트 설정 파일(fontconfig.properties)이 있는 곳에서는 되고 없는 곳에서는 안되었다..
서버 담당자한테 말했더니 아래를 설치해주셨고, 설정 파일이 생기면서 이슈 해결
sudo yum install fontconfig dejavu-sans-fonts dejavu-serif-fonts
vi /usr/local/jdk8/jre/lib/fontconfig.properties
-----------
version=1
sequence.allfonts=default
참고
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=amabile29&logNo=222292712456
OpenJDK8 version upgrade - Font Issue
OpenJDK에는 폰트 파일이 있지 않아서 업그레이드 후 Excel 파일 생성 등 폰트가 필요한 부분에서 에...
blog.naver.com
https://github.com/adoptium/adoptium-support/issues/70
There was no fonts in Linux version · Issue #70 · adoptium/adoptium-support
From @JamesMung on October 23, 2018 3:54 JDK Version ; jdk8u181-b13 When I use jasper print PDF in Windows is fine, but for Linux found the error as follow: Caused by: net.sf.jasperreports.engine.J...
github.com