2012-04-24 4 views
3

Мне нужна пользовательская установка артефакта и не могу понять, как переопределить значение по умолчанию (из-за жизненного цикла maven по умолчанию). Поэтому мой вопрос:Как переопределить поведение по умолчанию maven-install-plugin?

Как настроить maven install plugin в моем pom.xml, чтобы он не выполнял установку по умолчанию и выполнял только мои пользовательские цели установочного файла?

Я пробовал без id и с default-install id, и это не помогло.

Обновление: Из предоставленного ответа - это не работает для меня (я вижу две попытки установки в журнале).

<pluginManagement> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-install-plugin</artifactId> 
     <executions> 
     <execution> 
      <id>default-install</id> 
      <phase>none</phase> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</pluginManagement> 
<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-install-plugin</artifactId> 
    <version>2.3.1</version> 
    <executions> 
     <execution> 
     <id>install-jar-lib</id> 
     <goals> 
      <goal>install-file</goal> 
     </goals> 
     <phase>install</phase> 
     <configuration> 
      <file>${project.build.directory}/${project.build.finalName}.jar</file> 
      <generatePom>false</generatePom> 
      <pomFile>pom.xml</pomFile> 
      <packaging>jar</packaging> 
      <version>${unicorn.version}</version> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
+1

Использование 'default- ', поскольку ИД выполнения работал на меня раньше. У вас есть глобальный блок конфигурации, определенный для плагина установки, или вы случайно наследуете от родительского POM, который имеет глобальный блок конфигурации? – user944849

+2

Можете ли вы опубликовать соответствующий фрагмент pom, который не работает? – Raghuram

+0

Это решение работает, но только с Maven версии 3. –

ответ

1

Вы можете по умолчанию установить пропущена, если у вас есть по крайней мере, версия 2.4 установить плагин.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-install-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <skip>true</skip> 
    </configuration> 
</plugin> 

Затем вы можете связать другой плагин (муравей плагин запуска или что-нибудь еще) к этой фазе путем добавления

<phase>install</phase> 

в разделе выполнения плагина, и вы можете запустить новый процесс установки с

mvn install 
7

Чтобы отключить maven-install-plugin:

<build> 
    <pluginManagement> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-install-plugin</artifactId> 
     <version>2.3.1</version> 
     <executions> 
      <execution> 
      <id>default-install</id> 
      <phase>none</phase> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
</build> 

и для выполнения пользовательской цели установки:

<build> 
    <plugins> 
    <plugin> 
     <groupId>yourGroupId</groupId> 
     <artifactId>yourArtifactId</artifactId> 
     <executions> 
     <execution> 
      <id>custom-install</id> 
      <phase>install</phase> 
      <goals> 
      <goal>yourGoal</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 
+0

Я разместил соответствующий код, который, как я думаю, не работает. – zeratul021

+0

Это решение работает с 'maven-install-plugin v2.3.1'. – Stephan

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