Удалите каталог "target" после сборки

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

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

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

Ответы

Ответ 1

Используйте 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>

Ответ 2

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

mvn install clean

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

Ответ 3

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

Ответ 4

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

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

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

       <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>