개발/java

[이슈해결] NPE at HSSFSheet.autoSizeColumn

방푸린 2023. 6. 28. 10:06
반응형

환경: 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

 

728x90
반응형