Maven 不在干净阶段执行脚本 extern,而只在编译或安装时执行

Maven do not execute script extern in clean phase but only in compile or install

我使用 maven 设置了一个运行外部脚本的插件。

              <plugin>
                <artifactId>exec-maven-plugin</artifactId>
                <groupId>org.codehaus.mojo</groupId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>Execute External Command</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>
                                ${basedir}/external.sh
                            </executable>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

问题是它也是用mvn clean命令启动的。是否可以在干净阶段不启动插件?或者是否可以使用让我明白我处于清理阶段的参数来参数化我的外部脚本?

类似于:

                        <executable>
                            ${basedir}/external.sh ${phase}
                        </executable>

您可以尝试更改插件中的相位吗,例如:

  <phase>install</phase>

完整插件:

         <plugin>
            <artifactId>exec-maven-plugin</artifactId>
            <groupId>org.codehaus.mojo</groupId>
            <version>3.0.0</version>
            <executions>
                <execution>
                    <id>Execute External Command</id>
                    <phase>install</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                    <configuration>
                        <executable>
                            ${basedir}/external.sh
                        </executable>
                    </configuration>
                </execution>
            </executions>
        </plugin>

您可以选择任何其他合适的阶段。