You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

spring-cloud-starter-gateway引入spring-boot-admin-sample-reactive漏洞排查求助

解决Spring Cloud Gateway间接引入spring-boot-admin-sample-reactive漏洞问题

我能理解你现在的困扰——明明没直接引入这个示例模块,却被Nexus检测出漏洞,而且IDE里还找不到它的依赖路径。别着急,咱们一步步来排查和解决:

1. 精准定位依赖来源

Eclipse的依赖层级视图有时候会过滤掉一些间接依赖(比如测试范围、可选依赖),但Maven的命令行工具能帮你找到完整的依赖链。在项目根目录执行以下命令,专门查找spring-boot-admin-sample-reactive的引入路径:

mvn dependency:tree -Dverbose -Dincludes=de.codecentric:spring-boot-admin-sample-reactive

这个命令会输出该依赖是通过哪个父依赖间接引入的,大概率是spring-cloud-starter-gateway下的某个子组件意外拉取了这个示例模块。

2. 直接排除问题依赖

一旦找到依赖路径,你可以直接在spring-cloud-starter-gateway的依赖声明里添加排除规则,强制移除这个示例模块:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
    <exclusions>
        <exclusion>
            <!-- 排除有漏洞的示例模块 -->
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-sample-reactive</artifactId>
        </exclusion>
    </exclusions>
</dependency>

因为这是示例模块,本身不是Gateway运行必需的组件,排除后不会影响你的项目功能。

3. 检查Spring Cloud版本兼容性

你的Spring Boot版本是2.3.2.RELEASE,对应的Spring Cloud版本应该是Hoxton.SR9(Spring Boot与Spring Cloud的版本对应关系是严格绑定的)。如果你的${spring-cloud.version}没有明确指定,可能会拉取不兼容的版本,导致依赖解析出现异常。建议在pom里明确设置:

<properties>
    <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
</properties>

版本匹配能减少很多奇怪的依赖问题。

4. 验证排查结果

执行完以上步骤后,再运行一次Maven依赖树命令确认该依赖已被排除,然后重新提交项目到Nexus进行漏洞校验,应该就能通过了。

内容的提问来源于stack exchange,提问作者SpringGeek28

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 22:37:37