2016-09-26 10 views
0

У меня есть проект maven. Когда я нажимаю установить maven build zip и jar файл в target папка.maven добавить zip-файл для развертывания на удаленный сервер

Но когда я нажимаю развернуть это только развернуть Jar файла и зависимости в удаленное хранилище.

Вопрос: Как добавить zip-файл для развертывания в удаленный репозиторий nexus со стандартными плагинами maven.

EDIT

<packaging>custom-zip<packaging>

+0

Файл '.zip' является частью содержимого папки' target', но скопирован ли он в локальный кеш 'm2'? Я полагаю, что нет, только '.jar' должен быть там, в соответствии с поведением' deploy'. Можете ли вы поделиться больше с соответствующим файлом 'pom.xml'? Скорее всего, файл 'zip' генерируется не прикрепленным к сборке как дополнительный артефакт –

+0

@ A_Di-Matteo да, вы правы. Только '.jar' в локальном' m2 cache'. У меня только специальный плагин 'custom-plugin-packaging-zip' И этот плагин делает для меня' zip' файл в папке 'target'. Как я могу прикрепить это к созданию дополнительного артефакта? –

ответ

2

Для того, чтобы должным образом install и deploy дополнительный артефакт (файл генерируется сборки, как правило, также после его версий и когерентно часть результатов соответствующего проекта), вам необходимо, чтобы приложил к сборке, чтобы Maven обработал его как официальный результат его результата.

Чтобы прикрепить файл к сборке, вы можете использовать build-helper-maven-plugin.

Вот пример отрывок из его usage страницы:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.12</version> 
    <executions> 
     <execution> 
     <id>attach-artifacts</id> 
     <phase>package</phase> 
     <goals> 
      <goal>attach-artifact</goal> 
     </goals> 
     <configuration> 
      <artifacts> 
      <artifact> 
       <file>the-generated-file</file> 
       <type>extension of your file</type> 
       <classifier>optional</classifier> 
      </artifact> 
      </artifacts> 
     </configuration> 
     </execution> 
    </executions> 
</plugin> 

Вы должны установить конфигурацию выше после объявления плагина, который отвечает за генерацию файла, то есть, файл должен существовать, когда вы попробуйте прикрепить его к сборке. Посмотрите на конфигурационный элемент file, здесь вы должны указать файл, например. target\myfile.zip. В этом случае он будет прикреплен во время фазы package, так что фаза install и deploy учитывала бы это во время их обработки.

При вызове

mvn clean install 

Вы бы тогда увидеть, как часть результатов сборки:

[INFO] --- build-helper-maven-plugin:1.12:attach-artifact (attach-artifacts) @ zip-example --- 
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ zip-example --- 
[INFO] Installing C:\data\eclipse-workspace\zip-example\target\zip-example-0.0.1-SNAPSHOT.jar to c:\data\m2\repository\com\sample\zip-example\0.0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT.jar 
[INFO] Installing C:\data\eclipse-workspace\zip-example\pom.xml to c:\data\m2\repository\com\sample\zip-example\0.0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT.pom 
[INFO] Installing C:\data\eclipse-workspace\zip-example\sample.zip to c:\data\m2\repository\com\sample\zip-example\0.0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT-optional.zip 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 

, обратите внимание: sample.zip был фактически скопирован в m2 локальное хранилище как zip-example-0.0.1-SNAPSHOT-optional.zip, следовательно, переименован в соответствии с конфигурация проекта (artifactId, version, classifier).

+0

@ Артур Ганиев вы пробовали этот подход? –

+0

Извините за поздний ответ. Большое спасибо - это работает. ! –

 Смежные вопросы

  • Нет связанных вопросов^_^