1

我正在使用Maven Checksum Plugin,并且在构建战争后执行它时遇到问题。这是我在该部分下的 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时,插件没有执行。没有错误,只是没有执行。在构建过程中不会打印任何内容。处理了战争,声明了构建成功,并且插件不执行。

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

但是,如果我运行,该插件确实可以工作:

$ mvn checksum:files

我的配置中缺少什么?

4

1 回答 1

3

该插件未执行,因为它是在pluginManagement您的pom.

您应该像这样移动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

于 2015-08-13T19:14:52.690 回答