无法让校验和maven插件自动执行

Can't get checksum maven plugin to execute automatically

我正在使用 Maven Checksum Plugin,但在构建 war 之后我无法执行它。这是我在我的 superpom 中的配置:

<build>
    ...
    <pluginManagement>
        <plugins>
            <plugin>
                ...
            </plugin>
            <plugin>
                <groupId>net.ju-n.maven.plugins</groupId>
                <artifactId>checksum-maven-plugin</artifactId>
                <version>1.3-SNAPSHOT</version>
                <executions>
                    <execution>
                        <id>generate-artifact-checksum</id>
                        <phase>package</phase>
                        <goals>
                            <goal>files</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <fileSets>
                        <fileSet>
                            <directory>${project.build.directory}/artifacts</directory>
                        </fileSet>
                    </fileSets>
                </configuration>
            </plugin>
            <plugin>
                ...
            </plugin>
        </plugins>
    </pluginManagement>
</build>

当我运行 mvn package时,插件没有被执行。不是有错误,只是没有执行。在构建过程中没有打印出任何内容。 war 已处理,构建被声明为 成功 ,插件未执行。

我尝试删除 <phase> 实体和 运行 mvn verify 因为根据插件文档,checksum:files 目标自动绑定到 verify阶段。仍然没有执行。

但是,如果我 运行:

$ mvn checksum:files

我的配置中缺少什么?

插件未执行,因为它是在 pompluginManagement 部分下声明的。

您应该将 checksum-maven-plugin 的配置移动到 pluginManagement 之外,如下所示:

<build>
    <plugins>
        <plugin>
            ...
        </plugin>
        <plugin>
            <groupId>net.ju-n.maven.plugins</groupId>
            <artifactId>checksum-maven-plugin</artifactId>
            <version>1.3-SNAPSHOT</version>
            <executions>
                <execution>
                    <id>generate-artifact-checksum</id>
                    <phase>package</phase>
                    <goals>
                        <goal>files</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <fileSets>
                    <fileSet>
                        <directory>${project.build.directory}/artifacts</directory>
                    </fileSet>
                </fileSets>
            </configuration>
        </plugin>
        <plugin>
            ...
        </plugin>
    </plugins>
</build>

有关 pluginManagement 部分的说明,请参阅 this question