Maven执行dependency-check插件提示跳过检查如何解决
dependency-check-maven执行提示Skipping dependency-check的解决方法
问题复现
在pom文件的plugins配置块中添加如下dependency-check-maven插件配置:
<plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>6.2.2</version> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin>
执行mvn dependency-check:check或mvn verify命令时,日志输出如下内容,依赖检查逻辑未实际运行:
[INFO] --- dependency-check-maven:6.2.2:check (default-cli) @ my-project --- [INFO] Skipping dependency-check
触发原因
出现该提示是插件内置的跳过逻辑被触发,常见触发场景有三类:
- 插件配置或Maven命令行参数中显式设置了
skip=true - 聚合父工程(packaging为pom)默认会跳过检查,避免在父模块无实际业务依赖的场景下做无效扫描
- 聚合扫描模式默认关闭,父工程执行时未开启递归扫描子模块的配置,直接终止执行流程
调整方案
根据项目类型选择对应配置即可:
- 普通单模块项目(jar/war打包)
在插件配置中显式关闭skip开关,调整后配置如下:<plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>6.2.2</version> <configuration> <!-- 显式关闭跳过开关 --> <skip>false</skip> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> - 多模块聚合父工程(pom打包)
除关闭skip开关外,需要额外开启聚合扫描参数,让插件递归扫描所有子模块依赖,调整后配置如下:<plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>6.2.2</version> <configuration> <skip>false</skip> <!-- 开启聚合扫描,递归检查所有子模块依赖 --> <aggregate>true</aggregate> <!-- 可选配置:将汇总漏洞报告输出到父工程构建目录 --> <outputDirectory>${project.build.directory}</outputDirectory> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> - 命令行参数校验
检查执行的mvn命令是否携带了-Ddependency-check.skip=true参数,如果存在该参数直接删除即可,该参数会强制跳过所有依赖检查逻辑。
配置调整完成后重新执行mvn verify或mvn dependency-check:check命令,即可看到依赖漏洞扫描的正常执行日志,扫描完成后会在对应模块的构建目录生成漏洞检查报告。
内容的提问来源于stack exchange,提问作者RobHay
相关产品推荐
相关产品推荐

