====== Maven Clean Plugin ====== * http://maven.apache.org/plugins/maven-clean-plugin/ ===== target은 남겨두고 그 이하 디렉토리와 파일은 완전 삭제하게 하기 ===== * https://github.com/YA2O/Eclipse_Plugin_Target_Derivator Eclipse Plugin을 사용하면 Mave Clean Plugin 조작은 불필요함. * Multi Module Project일 경우, Eclipse는 최상위 부모 프로젝트의 하위에 존재하는 target과 각 모듈의 target이 실제적으로는 물리적으로 동일한 디렉토리를 가리키지만 Derived 설정은 따로 유지하려 들게 된다. 이 때 부모 프로젝트의 target 은 * 부모 프로젝트 Properties -> Resource -> Resource Filters -> Add로 가서 * **Exclude All/ Folders / All children** 세 가지에 체크하고 이름 Name matches **target** 을 지정한다. * 이제 부모 프로젝트의 target은 아예 목록에서 안보이고, 리소스 열기에서도 안나오게 된다. * [[http://stackoverflow.com/questions/283489/is-there-a-way-to-hide-maven-2-target-folder-in-eclipse-3|java - Is there a way to hide Maven 2 "target/" folder in Eclipse 3? - Stack Overflow]] 참조 * 이 기능이 필요한 이유는 Eclipse에서 [[http://maven.apache.org/plugins/maven-eclipse-plugin/|Maven Eclipse Plugin]]으로 프로젝트를 관리하면서 ''Ctrl+Shfit+R'' 로 리소스 열기를 할 때 target 디렉토리 아래의 파일들이 자꾸 목록에 나오기 때문이다. * Eclipse에서 target 디렉토리의 **속성(Properties) -> Resources -> Attribut**e에서 **Derived**로 지정하면 리소스 열기시 해당 디렉토리 이하의 파일은 목록에서 제외된다. * 문제는, ''mvn clean''으로 target이 삭제되었다 재생성될 경우, 매번 다시 Derived로 설정을 해줘야한다는 점. 그래서 target 아래의 파일과 디렉토리만 삭제하고 target 자체는 삭제하지 않도록 설정 필요. ... maven-clean-plugin true target **/* ...