JAVA 빌드시 아래와 같은 오류로 compile error 가 발생하여 빌드 실패하였다.
에러 문구
[ERROR] java: illegal character: '\ufeff'
발생원인
특정 파일의 인코딩이 UTF-8 with BOM 으로 되어있었다. JAVA compile시 BOM 유니코드를 compile 하지 못한다.
BOM이란?
문서 맨 앞에 눈에 보이지 않는 특정 바이트(byte)를 넣은 다음 이것을 해석해서 정확히 어떤 인코딩 방식이 사용되었는지 알아내는 방법이다. 메모장같은 일부 Windows 프로그램에서 눈에 보이지않지만 자동으로 BOM을 집어넣어 저장한다.
해결방법
IDE (IntelliJ, VS Code) 또는 메모장을 통해 쉽게 변경할 수 있다.
1. 인코딩 메뉴에 들어가 UTF-8 with BOM -> UTF-8 로 변경하여 다시 저장한다.
2. 또는 프로젝트 메뉴의 'Remove BOM' 을 통해 BOM 을 삭제해준다.
3. IDE가 없다면 메모장에서 파일을 연 후 다른이름으로 저장한 다음 아래 인코딩 정보를 UTF-8(BOM) 이 아닌 UTF-8로 새로 저장해준다.
댓글