Как с помощью Maven скачать war файл в target во время сборки? Так вот. Скачать файл с репозитория можно с помощью плагина maven-dependency-plugin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>get-dictionary</id> <phase>pre-integration-test</phase> <goals> <goal>get</goal> </goals> <configuration> <artifact>ru.urvanov.groupid:artifact-id:1.0.0-SNAPSHOT:war</artifact> </configuration> </execution> </executions> </plugin> |
Ну тут всё итак понятно. Перед интеграционными файлами будет скачан указанный war-файл по groupId, artifactId и версии.
После этого мы можем скопировать его в каталог “target” с помощью плагина maven-dependency-plugin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>copy-dictionary</id> <phase>pre-integration-test</phase> <goals> <goal>copy</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>ru.urvanov.groupid</groupId> <artifactId>artifact-id</artifactId> <version>1.0.0-SNAPSHOT</version> <type>war</type> </artifactItem> </artifactItems> <outputDirectory>${project.build.directory}/mydirectory</outputDirectory> </configuration> </execution> </executions> </plugin> |
Тут тоже всё довольно просто. Мы копируем артефакт с указанным groupId, artifactId и версией в каталог “mydirectory” внутри каталога “target”.