250x250
syk531
하루
syk531
전체 방문자
오늘
어제
  • 분류 전체보기 (166)
    • 개발 (166)
      • java (11)
      • kotlin (7)
      • spring, spring boot (35)
      • Javascript (4)
      • Tyhmeleaf (2)
      • Kafka (17)
      • Docker (8)
      • Kubernetes (3)
      • Elastic Stack (4)
      • react native (3)
      • Web (4)
      • GIS (3)
      • 리눅스 (16)
      • Windows (2)
      • 네트워크 (2)
      • 안드로이드앱 (5)
      • git (2)
      • Tool (15)
      • 프로젝트 (7)
      • 백준알고리즘 (14)
      • DB (2)

인기 글

최근 글

블로그 메뉴

    공지사항

    태그

    • 티스토리챌린지
    • 뉴스앱
    • 오블완

    최근 댓글

    티스토리

    hELLO · Designed By 정상우.
    syk531

    하루

    Java XSSFWorkbook 클래스 생성 오류 해결 방법 | Apache POI 라이브러리 버전 불일치
    개발/java

    Java XSSFWorkbook 클래스 생성 오류 해결 방법 | Apache POI 라이브러리 버전 불일치

    2024. 8. 21. 12:16
    728x90
    반응형

    Java로 Excel 파일을 생성하기 위해 new XSSFWorkbook()를 실행하는 중 아래와 같은 오류가 발생할 수 있습니다.

    'org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream$Builder org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream.builder()'

    이 오류는 Apache POI 라이브러리와 관련된 commons-io 라이브러리 간의 버전 불일치로 인해 발생합니다. 특히, XSSFWorkbook 클래스의 생성자가 UnsynchronizedByteArrayOutputStream.builder() 메소드를 호출할 때, 해당 메소드가 존재하지 않는 경우 이 오류가 발생할 수 있습니다.

     

    에러 발생 원인

    • 사용한 Apache POI 라이브러리 버전: org.apache.poi:poi-ooxml:5.3.0
    • 사용한 commons-io 라이브러리 버전: commons-io:commons-io:2.11.0

     

    해결 방법

    1. Maven 또는 Gradle에서 commons-io 라이브러리의 버전을 `2.16.1`로 업데이트합니다.
    2. 프로젝트를 빌드하고, 오류가 해결되었는지 확인합니다.

     

    해결 과정

    excel 파일 생성을 위해 추가한 dependency는 아래와 같습니다.

    implementation 'org.apache.poi:poi-ooxml:5.3.0'

    해당 버전과 맞는 commons-io의 버전은 2.16.1 입니다.

    현재 프로젝트에서 사용하고 있는 commons-io의 버전은 2.11.0 이라서 버전을 맞춰준 후에 에러가 해결되었습니다.

    implementation 'commons-io:commons-io:2.11.0'
    implementation 'commons-io:commons-io:2.16.0'

     

     

    참고자료

    https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml/5.3.0

    728x90
    반응형
    저작자표시 (새창열림)

    '개발 > java' 카테고리의 다른 글

    [java] byte 배열을 int 값으로 변경하는 방법  (0) 2024.05.29
    [java] byte 값과 16진수(hex)값 비교 방법  (0) 2024.05.29
    [windows + intellij] OpenJDK21 설치 방법  (0) 2024.05.28
    [Enum] 여러 필드로 구성된 Enum에서 특정 값이 존재하는지 체크 하는 방법  (0) 2024.02.21
    [Java] byte 에서 특정자리 bit 추출하는 방법  (0) 2024.02.02
      '개발/java' 카테고리의 다른 글
      • [java] byte 배열을 int 값으로 변경하는 방법
      • [java] byte 값과 16진수(hex)값 비교 방법
      • [windows + intellij] OpenJDK21 설치 방법
      • [Enum] 여러 필드로 구성된 Enum에서 특정 값이 존재하는지 체크 하는 방법
      syk531
      syk531
      기억을 위해 기록을.

      티스토리툴바