Как скопировать встроенный артефакт в каталог на удаленном сервере Windows на этапе развертывания maven? - PullRequest
3 голосов
/ 30 октября 2008

Может ли кто-нибудь предоставить рабочий пример (полная конфигурация плагина maven), как скопировать встроенный файл jar на определенный сервер (ы) во время фазы развертывания?

Я пытался взглянуть на плагин wagon, но он крайне недокументирован, и я не смог его настроить. Сборка создает стандартный jar, который развертывается на Nexus, но мне нужно также автоматически установить jar на тестовый сервер по локальной сети (\ someserver \ testapp \ bin).

Буду благодарен за любые подсказки.

Спасибо

Ответы [ 2 ]

9 голосов
/ 30 октября 2008

На самом деле я нашел другой способ: Плагин зависимости!

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <executions>
    <execution>
      <id>copy-to-ebs</id>
      <phase>deploy</phase>
      <goals>
          <goal>copy</goal>
      </goals>
      <configuration>
        <artifactItems>
          <artifactItem>
            <groupId>${project.groupId}</groupId>
            <artifactId>${project.artifactId}</artifactId>
            <version>${project.version}</version>
            <type>${project.packaging}</type>
          </artifactItem>
        </artifactItems>
        <outputDirectory>\\someserver\somedirectory</outputDirectory>
        <stripVersion>true</stripVersion>                    
      </configuration>
    </execution>                        
  </executions>
</plugin>

Он также принимает путь к Windows, как \\ resource.

Обратите внимание, что \\ someserver \ somedirectory работает только из Windows-клиента.

1 голос
/ 30 октября 2008

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

...