2012-04-24 88 views
3

我需要定製工件安裝,並且無法確定如何覆蓋默認的默認工具(來自默認的maven生命週期)。所以我的問題是:如何覆蓋默認的maven-install-plugin行爲?

如何在我的pom.xml中配置maven install插件,以便它不會執行默認安裝並執行我的自定義安裝文件目標?

我試過沒有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- '作爲執行ID已爲我工作過。你有爲安裝插件定義的全局配置塊,還是偶然從具有全局配置塊的父POM繼承? – user944849 2012-04-25 01:03:15

+2

你可以發佈沒有工作的相關的pom片段嗎? – Raghuram 2012-04-25 04:28:26

+0

此解決方案的工作原理,但僅適用於Maven版本3. – 2012-12-04 21:23:46

回答

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 2012-05-07 03:59:01

+0

該解決方案適用於'maven-install-plugin v2.3.1'。 – Stephan 2014-06-11 11:04:03