如何配置org.owasp dependency-check-maven仅在mvn site执行,跳过mvn install?
解决方案
问题原因
你的dependency-check-maven插件当前未指定绑定的Maven生命周期阶段,该插件的check目标默认绑定到verify阶段。由于mvn clean install会执行到verify阶段(install生命周期包含verify环节),因此插件会被自动触发运行。
调整方案
以下两种方式均可实现仅在mvn clean site时运行该插件:
方式一:绑定插件到site生命周期阶段
修改插件的执行配置,明确将check目标绑定到site阶段。这样只有当Maven执行site阶段时插件才会运行,而install生命周期不会触发该阶段。
修改后的完整插件配置:
<plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>8.4.2</version> <configuration> <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled> <formats> <format>html</format> </formats> </configuration> <executions> <execution> <phase>site</phase> <!-- 指定绑定到site阶段 --> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin>
方式二:将插件配置为Site报告插件
如果希望依赖检查报告直接整合到生成的站点中,可以将插件移至<reporting>标签下。Maven生成站点时会自动执行该插件的报告生成逻辑,且不会干扰install流程。
配置示例:
<reporting> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>8.4.2</version> <configuration> <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled> <formats> <format>html</format> </formats> </configuration> </plugin> </plugins> </reporting>
验证
修改配置后:
- 执行
mvn clean install:控制台不会出现dependency-check的运行日志,插件不会执行 - 执行
mvn clean site:插件会正常触发依赖检查,并生成指定格式的报告
内容的提问来源于stack exchange,提问作者PatPanda
相关产品推荐
相关产品推荐

