Maven 프로젝트가 UTF-8로 Compile되지 않는다면?
Pom.xml을 고쳐보자
이 링크에서 원문을 확인할 수 있다
자바지기님 사이트에서 발견한 또 다른 해결책
딱 내가 찾던 문제였는데 한글 형태소 분석기가 UTF-8에서 제대로 컴파일이 되지 않아 maven update를 돌렸더니 모든 파일이 MS949 인코딩으로 변하는 사태가 발생했다.
그러면 당연히 형태소 분석을 위한 한글 Data도 같이 망가지게 된다.
그렇다고 프로젝트를 강제로 UTF-8로 고치면 또 컴파일이 맛이 가고…
그럴때 pom.xml의
설정 문제는 콜럼버스의 달걀과 같아서 이렇게 알고 나면 쉽지만 모를때는 공식 문서를 이 잡듯이 훑지 않으면 도저히 혼자서 알 방법이 없는 것이다.
좀 더 빠른 방법은 forum이나 google을 이용하는 것이지만 그렇게 해결하고 나면 Tool의 기반이 되는 내용을 잘 이해하지 못했다는 생각에 답답한 마음이 든다.
사족 - 설정지옥
Javascript도 그렇고 Python도 그렇고 심지어 요즘에는 PHP도 패키지 매니저로 이것저것 끌어다 쓰는 개발방법이 인기를 끌고 있는데 JAVA는 역사와 전통에 빛나는 만큼 수많은 라이브러리가 넘치고 있다.
특히 우리나라에서는 전자정부프레임워크의 도입과 맞물려 Spring이 거의 웹 개발 프로젝트의 업계 표준처럼 쓰이고 있다.(아닐 수도 있다. 내가 아는 업계라고 해봐야 손바닥만하기 때문에 ^^; 진실은 고수님들에게 물어보도록 하자…)
문제는 이렇게 라이브러리와 프레임워크가 넘치다 보니 개발자의 취향별로 이걸 설정하고 관리하는 방법도 널리고 널렸다는 것이다. 당장 Java만 해도 직접 라이브러리를 jar 파일로 다운받아 빌드 패스에 추가하는 고전적(?)인 방법부터 라이브러리 소스파일을 프로젝트로 묶어서 개발중인 프로젝트에서 끌어다 사용하는 방법도 있고 좀 복잡한 프로젝트는 maven 설정 파일을 건드려서 의존성을 관리하거나 하는 식이다. 물론 maven보다 ant, gradle 처럼 비슷한 일을 해 주는 다른 빌드 툴을 선호하는 경우도 있어서 이 문제는 정답이 있다기 보다 그냥 편한 것을 쓰자는 흐름으로 가닥이 잡히고 있다.
모든게 뜻대로 잘 되고 있을 때야 10인 10색의 개발방법도 문제가 없는데 이러다가 뭔가 엉키고 꼬이는 순간이 문제다. 그래도 툴을 고를 때 대세를 따랐으면 검색해서 걸리는게 많은데 그렇지 않다면…
자신이 사용하는 도구를 잘 이해하고 있는 개발자들은 어떻게든 헤쳐나가는 반면에 튜토리얼을 갓 마치고 Java 월드에 내던져진 신병들은 똑같은 프레임워크도 설정 방법이 가지각색이다보니 시간 낭비가 막심하다. 물론 그렇게 삽질하는 시간들이 쌓여서 고수를 만드는 것이지만 멘토가 있다면 삽질도 좀 효율적으로 할 수 있을 것이다. 경험있는 개발자가 키워드 하나만 알려줘도 시간을 많이 줄일 수 있다.