удалить целевой каталог после сборки - PullRequest
14 голосов
/ 26 мая 2010

я знаю, что это, вероятно, не одобряется любителями maven, но весь целевой каталог - это пустая трата пространства в контексте нашей программы и ее развертывания. у нас есть другие процессы сборки, отвечающие за создание фактического развертывания, и в настоящее время я вручную удаляю целевой каталог после каждой сборки maven, чтобы его содержимое не мешало поиску моих файлов и т. д. *

есть ли способ автоматически удалить этот каталог в конце сборки / установки maven?

спасибо, стр.

Ответы [ 4 ]

14 голосов
/ 26 мая 2010

Используйте maven-clean-plugin, как здесь http://maven.apache.org/plugins/maven-clean-plugin/examples/delete_additional_files.html

<project>


[...]
  <build>
<plugins>
  <plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>2.4.1</version>
    <executions>
      <execution>
        <id>auto-clean</id>
        <phase>install</phase>
        <goals>
          <goal>clean</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
</plugins>
  </build>
  [...]
</project>
5 голосов
/ 26 мая 2010

В конце вы должны просто добавить чистую цель к вашим мавенским целям.

mvn install clean

Проблема с чистым плагином заключается в том, что если вы хотите запустить чистку в конце сборки, это зависит от того, какую цель вы вызывали в начале. Например, вы назвали mvn package, вам нужен фаза post-package, которая не существует, или, если вы назвали mvn install, вам нужна фаза post-install, которая также не существует.

3 голосов
/ 17 октября 2014

если вы хотите j просто удалить несколько каталогов в целевой папке, вы должны создать такую ​​конструкцию, подобную этой. например, удаляет только все содержимое папок:

  • цель / распаковки
  • генераторный внешний-apklibs

excludeDefaultDirectories позволяет не удалять полную целевую папку .
я использовал его для очистки целевой папки перед анализом lint.

       <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>2.6</version>
            <executions>
                <execution>
                    <id>Deleting all unnecessary files before lint analysis</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>clean</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <excludeDefaultDirectories>true</excludeDefaultDirectories>
                <filesets>
                    <fileset>
                        <directory>target/unpack</directory>
                        <followSymlinks>false</followSymlinks>
                        <excludes>
                            <exclude>*</exclude>
                        </excludes>
                    </fileset>
                    <fileset>
                        <directory>gen-external-apklibs</directory>
                        <followSymlinks>false</followSymlinks>
                        <excludes>
                            <exclude>*</exclude>
                        </excludes>
                    </fileset>
                </filesets>
                <verbose>true</verbose>
            </configuration>
        </plugin>
3 голосов
/ 02 февраля 2013

Самый простой способ - просто добавить «clean» в конец обычной команды сборки. например. mvn clean установить clean.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...