【问题标题】:Maven - Multi module project - How to configure/control plugin execution orderMaven - 多模块项目 - 如何配置/控制插件执行顺序
【发布时间】:2019-02-02 06:16:24
【问题描述】:
我们有多模块项目 - 目前,当我从父 pom 文件触发构建时,构建开始并遍历各个模块(为每个模块生成 jar 文件)并将它们捆绑以创建单个 war 文件。
这里我们已经配置了 checkstyle,考虑一下我们是否有任何 checkstyle 违规 Maven 构建将在构建结束时(几乎一个小时后)突出显示它并导致构建不成功..
或
示例:假设我有 10 个模块,如果在 module-3 构建中存在任何 checkstyle 违规,则应该停止并突出显示 checkstyle 违规,而不是遍历所有模块并在 1 小时构建后突出显示相同的内容..
【问题讨论】:
标签:
java
maven-3
maven-assembly-plugin
【解决方案1】:
我假设你已经在父 pom.xml 中配置了 checkstyle 插件。
如果是这种情况,一种解决方案是在每个单独的子 pom 中配置它,以便它作为子模块构建过程的一部分运行。
这应该会导致子构建失败并提前终止整个构建。
【解决方案2】:
您需要在子 pom 中指定构建生命周期,如下所示。像 include
<failsOnError>true</failsOnError>
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<phase>process-sources</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<failsOnError>true</failsOnError>
</configuration>
</plugin>
</plugins>
</build>
</project>