Военный артефакт Maven с удлинением машины - PullRequest
5 голосов
/ 16 мая 2011

Я пытаюсь использовать Maven для создания артефакта для развертывания на портале Vignette. Упаковка точно такая же, как у артефакта war, но файл должен иметь расширение car.

Опции, которые я пробовал, и я не смог их завершить.

  • Используйте плагин войны и переименуйте последний артефакт (продолжает добавлять расширение .war)
  • Использовать сборочный плагин с zip-дескриптором (не может изменить расширение .zip на .car)
  • Создайте новый тип упаковки, как описано здесь (нельзя использовать военный плагин для расширения .car)

Какой самый простой способ Maven для создания файла .car? Не могли бы вы дать мне руководство?

Спасибо.

1 Ответ

7 голосов
/ 19 июня 2011

Я думаю, что невозможно переименовать основной доставляемый артефакт проекта.

В любом случае, в прошлом я делал так, чтобы maven копировал файл с новым именем, а затем "прикрепить его к результатам сборки;путем настройки двух плагинов:

  • maven-ant-run для копирования
  • maven-build-helper для подключения вдля размещения в моем репо вместе с основным артефактом моего проекта.

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-antrun-plugin</artifactId>
      <executions>
        <execution>
          <phase>package</phase>
            <configuration>
              <target>
                <copy file="${project.build.directory}/${project.build.finalName}.war"
                  tofile="${project.build.directory}/${project.build.finalName}.car" />
              </target>
            </configuration>
            <goals>
             <goal>run</goal>
            </goals>
          </execution>
        </executions>
    </plugin>
    

И второе:

    <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <executions>
        <execution>
          <id>attach-instrumented-jar</id>
            <phase>verify</phase>
              <goals>
                <goal>attach-artifact</goal>
              </goals>
      <configuration>
                <artifacts>
                  <artifact>
                    <file>${project.build.directory}/${project.build.finalName}.car</file>
                    <type>car</type>
                  </artifact>
                </artifacts>
              </configuration>
          </execution>
       </executions>
     </plugin>

Я надеюсь, что это может помочь вам,По крайней мере, пока вы не найдете лучшее решение.

...