선 조치 후 분석

[Maven] java.nio.charset.MalformedInputException: Input length = 1 오류 및 maven-resources-plugin 본문

ETC/IT Knowledge

[Maven] java.nio.charset.MalformedInputException: Input length = 1 오류 및 maven-resources-plugin

JB1104 2025. 6. 12. 15:27
728x90
반응형
SMALL

프로젝트 진행하면서 개발하면서 Maven clean & install을 하는 상황이 있다.

이 상황에서 install을 하면서 "java.nio.charset.MalformedInputException: Input length = 1" 오류가

발생해서  정리한 내용


maven-resources-plugin 이란?

  • Maven의 리소스(예:. properties,. xml,. txt 등)를 복사하고 필터링하는 데 사용되는 플러그인
  • 주로 src/main/resources, src/test/resources의 파일들을 target 디렉터리로 복사

 

문제의 원인

  • Maven이 기본 내장된 구버전의 maven-resources-plugin을 사용 (예: 3.2.0 이하)
  • 해당 버전에서는 다음과 같은 버그가 존재
    1) UTF-8 인코딩이 올바르게 처리되지 않음
    2) 특정 OS환경에서 파일이 깨지거나 누락되는 형상
    3) 특수 문자, 한글 등이 포함된 파일에서 인코딩 오류 발생

 

✅ 해결 방법

  • pom.xml에 명시적으로 최신 버전 추가
  • 최신 버전에서는 인코딩 처리, 파일 필터링 로직 등 여러 문제가 해결됨
  • 특히 UTF-8 인코딩 지원이 안정적으로 동작함
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<version>3.3.0</version>
</plugin>

 

✅ 정리

항목  내용
문제  Maven 빌드시 리소스 처리 오류 발생 (파일 깨짐, 인코딩 문제 등)
원인 maven-resources-plugin의 구버전 사용 (3.2.0 이하)
해결 pom.xml에 명시적으로 3.3.0 이상 버전 설정
효과 인코딩 문제 해결, 리소스 복사 안정성 향상, 깨짐 현상 사라짐

 

728x90
반응형
LIST