More

java illegal character: '\ufeff' 오류 원인 및 수정

java illegal character 오류

메이븐 빌드 중 발생한 오류 메시지. 소스코드 배포를 위해 빌드 하던 중 java 파일 2개에서 오류가 발생했습니다.

java illegal character: '\ufeff'


1. 원인 UTF-8(BOM) 

오류 원인으로 지목된 java파일은 다른 프로젝트에 있는 파일의 소스 코드를 가져온 파일인데 이때 캐릭터셋에 문제가 발생한 것 같습니다.

파일 인코딩을 확인해보니 캐릭터셋이 UTF-8이 아니라 UTF-8(BOM)으로 되어있었습니다. 이클립스에는 따로 오류가 표시 되지 않아서 몰랐다가 빌드 되면서 오류가 발생해 긴급 재수정.


2. UTF-8(BOM) 수정 작업

UTF-8(BOM) 캐릭터셋 변경
이클립스는 UTF-8(BOM) 을 바꿔주지 못함

이클립스는 UTF-8(BOM) 형식을 UTF-8 로 바꿔주는 기능이 없기 때문에 java파일을 바탕화면에 복사하고 메모장으로 열어 UTF-8로 다시 저장했습니다.

UTF-8 형식 변경
메모장은 UTF-8(BOM) -> UTF-8 형식으로 변환 가능


수정 후 다시 빌드 해보니 오류 없이 잘 됩니다.