오류 내용
- POI를 활용한 엑셀 생성 개발에서 아래 오류 발생
Could not initialize class sun.awt.X11FontManager
- Headless 환경에서 AWT 사용
- libfontconfig 등 폰트 관련 리눅스 라이브러리가 없음
- Java 버그/설정 문제
==> POI 사용시 AWT를 사용하는데 해당 설정을 해주지 않아서 오류 발생
해결 방식
- headless 설정 추가
- 실행: java.awt.headless=true 설정을 Docker, GitLab 설정 내에 추가
- 결과: 실제로 POD 내 설정 추가되지 않아 위 오류 지속적으로 발생
- 폰트 및 패키지 설치
- 실행: Dockerfile 내에 아래 설치 처리 실행
# 필요 패키지 설치: 폰트, X11 관련
RUN apt-get update && apt-get install -y \
fontconfig \
fonts-dejavu-core \
&& rm -rf /var/lib/apt/lists/*
- 결과: 설치 실행이 되지 않아 지속적으로 오류 발생
- .deb 활용
- 실행: .deb 안에 있는 폰트 설치 파일을 통해서 POD 내에 폰트 설치
# 설치
RUN apt-get update && apt-get install -y \
fontconfig \
&& dpkg-deb -x /tmp/my-font.deb /usr/local/share/fonts/ \