如何覆盖默认的maven-install-plugin行为?

zer*_*021 4 overriding default maven

我需要自定义工件安装,无法计算如何覆盖默认工件(从默认的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>
Run Code Online (Sandbox Code Playgroud)

Mic*_*ski 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>
Run Code Online (Sandbox Code Playgroud)

并执行自定义安装目标:

<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>
Run Code Online (Sandbox Code Playgroud)


moo*_*eds 5

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

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

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

 <phase>install</phase>
Run Code Online (Sandbox Code Playgroud)

到插件的执行部分,您可以使用以下命令运行新的安装过程

 mvn install
Run Code Online (Sandbox Code Playgroud)