사용자 도구

사이트 도구


java:maven:clean

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은 아예 목록에서 안보이고, 리소스 열기에서도 안나오게 된다.
  • 이 기능이 필요한 이유는 Eclipse에서 Maven Eclipse Plugin으로 프로젝트를 관리하면서 Ctrl+Shfit+R 로 리소스 열기를 할 때 target 디렉토리 아래의 파일들이 자꾸 목록에 나오기 때문이다.
  • Eclipse에서 target 디렉토리의 속성(Properties) → Resources → Attribute에서 Derived로 지정하면 리소스 열기시 해당 디렉토리 이하의 파일은 목록에서 제외된다.
  • 문제는, mvn clean으로 target이 삭제되었다 재생성될 경우, 매번 다시 Derived로 설정을 해줘야한다는 점. 그래서 target 아래의 파일과 디렉토리만 삭제하고 target 자체는 삭제하지 않도록 설정 필요.
<build>
<plugins>
...
<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <configuration>
        <excludeDefaultDirectories>true</excludeDefaultDirectories>
        <filesets>
            <fileset>
                <directory>target</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </fileset>
        </filesets>
    </configuration>
</plugin>
...
</plugins>
</build>
java/maven/clean.txt · 마지막으로 수정됨: 2012/05/25 11:56 저자 kwon37xi