5

我需要自定义工件安装,但不知道如何覆盖默认工件(来自默认的 Maven 生命周期)。所以我的问题是:

如何在我的 pom.xml 中配置 maven 安装插件,使其不执行默认安装并仅执行我的自定义安装文件目标?

我尝试不使用 id 和使用默认安装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>
4

2 回答 2

8

要禁用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>
于 2012-04-25T07:02:50.953 回答
4

如果您至少有 2.4 版的安装插件,则可以跳过默认安装。

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

然后您可以通过添加将另一个插件(ant run 插件或其他任何插件)绑定到此阶段

 <phase>install</phase>

到插件的执行部分,您可以运行新的安装过程

 mvn install
于 2014-02-25T00:46:44.687 回答