Mam dwa profile w pliku pom.xml i mam kilka plików zasobów, które dodałem do docelowego katalogu zasobów: ${project.build.outputDirectory}/resources
podczas wykonywania pierwszego profilu. Muszę usunąć te pliki zasobów podczas wykonywania drugiego profilu. Czy istnieje sposób na usunięcie lub usunięcie istniejących plików z katalogu docelowego?Usuwanie lub usuwanie plików zasobów z katalogu docelowego za pomocą pliku pom
Odpowiedz
mvn clean
usunie katalog target
(a więc wszystkie znajdujące się w nim pliki). Jeśli chcesz usunąć tylko niektóre pliki z katalogu target
, kombinacji:
excludeDefaultDirectories
aby zatrzymać jej usunięcie całego katalogu, afilesets
powiedzieć to, co usunąć
ref: http://maven.apache.org/plugins/maven-clean-plugin/clean-mojo.html
zgadzam się z UWAGI Mateusza ns, ale odniosłem wrażenie, że oryginalny plakat pytał o automatyzację wykonywania clean
podczas (normalnego) "wykonania" profilu.
Możesz zdefiniować plugin execution dla wtyczki Maven Clean. Zwykle jest to związane tylko z clean
, ale definiując wykonanie wtyczki, możesz powiązać clean:clean
(czyli cel clean
wtyczki clean
) z dowolnie wybraną wartością. Dokumentacja wtyczki Maven Clean ma an example, jak to zrobić. Dokumentacja ma także an example usuwanie dodatkowych plików. Scalone dwa wygląda tak:
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>some/relative/path</directory>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
Mam rozwiązanie .. !!
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete>
<fileset dir="${project.build.outputDirectory}/resources" includes="*.xml" />
</delete>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
odsyłającego - http://maven.apache.org/guides/mini/guide-building-for-different-environments.html
dzięki powyższych odpowiedzi. W końcu doszedłem do czegoś takiego:
jeśli chcesz j Ust usuwaćkilka katalogi w folderze docelowym, trzeba stworzyć jakiś konstrukt takiego.
to na przykład usuwa tylko całą zawartość folderów:
- target/rozpakować
- GEN-external-apklibs
excludeDefaultDirectories pozwala n ot usuwać kompletny folder docelowy.
użyłem go do oczyszczenia folderu docelowego przed analizą kłaczków.
<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>
Rozwiązanie z Apache Maven AntRun Plugin 1.8:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<delete
dir="${project.build.outputDirectory}/resources"
includeemptydirs="true"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
Potrzebowałem tylko kilka plików usuniętych z katalogu wyjściowego dodaje pracował dobrze dla mnie.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete file="${project.build.outputDirectory}/appContextLocal.xml" />
<delete
file="${project.build.outputDirectory}/appContextServer.xml" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
ja też pomyślałem, że można uruchamiać żadnych komend mrówek tu wymienić co kiedykolwiek zadanie trzeba się pomiędzy <tasks> .... </tasks>
i będzie działać.
Lista zadań mrówek, które można wykonać są here
Ref: http://maven.apache.org/plugins/maven-antrun-plugin/usage.html
- 1. Usuwanie plików podczas odczytu katalogu z readdir()
- 2. Usuwanie wszystkich plików w katalogu za pomocą Pythona
- 3. ansible - usuwanie niezarządzanych plików z katalogu?
- 4. Usuwanie wielu plików za pomocą symbolu wieloznacznego
- 5. Capistrano Usuwanie zasobów
- 6. Blokowanie i usuwanie plików
- 7. Usuwanie zasobów ActiveAdmin
- 8. usuwanie plików z kodu C
- 9. Rekursywne usuwanie ukrytych plików
- 10. Usuwanie stopwords z pliku
- 11. Usuwanie elementu za pomocą imacro
- 12. Usuwanie duplikatów za pomocą PigLatin
- 13. Usuwanie wersji z pliku xml
- 14. Usuwanie znaków za pomocą przycisku
- 15. Usuwanie danych z pliku HDF5
- 16. Bezpieczne usuwanie za pomocą PHP 5.3.x
- 17. Usuwanie elementu z listy za pomocą iteratora
- 18. Usuwanie warunku z wyrażenia za pomocą ExpressionVisitor
- 19. Usuwanie instrukcji przetwarzania za pomocą Python lxml
- 20. usuwanie lub usuwanie ManagedObject w CoreData
- 21. Usuwanie określonego pliku kopii zapasowej za pomocą SQL
- 22. Usuwanie zasobów ładowanych z dzienników błędów
- 23. Usuwanie ogromnej ilości plików
- 24. Pobieranie i usuwanie plików zdalnych za pomocą lftp
- 25. Usuwanie plików za pomocą symbolu wieloznacznego w języku Laravel
- 26. Usuwanie informacji z pliku HDF5
- 27. Usuwanie niedrukowalnych znaków "gremlin" z plików tekstowych
- 28. Usuwanie plików z FTP w C#
- 29. Java - usuwanie atomowe (niepustego) katalogu
- 30. Usuwanie katalogu ze wszystkich poprzednich zatwierdzeń
Generalnie w Maven, to wolałbym deklaratywny rozwiązanie, nad właśnie kodowanie go (co dla wtyczek jak mrówki, Groovy itp.) pozwól ci to zrobić. –