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

JDK长期支持版选择及pom.xml传递依赖漏洞警告消除咨询

问题解答

1. 可升级的下一个长期支持版JDK

当前使用的JDK 15是非长期支持版本(Non-LTS),下一个可用的长期支持版(LTS)是JDK 17。JDK 17是2021年9月发布的LTS版本,提供长达8年的官方支持,且完全兼容你当前的技术栈(Appium 2.x、Java Client 8.x、Selenium 4.x等均支持JDK 17)。

2. 消除pom.xml警告与传递依赖漏洞的方案

针对Checkmarx检测到的三个漏洞,可通过覆盖传递依赖版本或排除不安全依赖并引入安全版本解决,具体操作如下:

(1)修复commons-collections:3.2.2漏洞

commons-collections 3.2.2存在代码执行漏洞,需升级至安全版本(如3.2.3)。在pom.xml中直接声明该依赖的安全版本,Maven会自动覆盖传递依赖:

<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.3</version>
</dependency>

(2)修复snakeyaml:1.19漏洞

snakeyaml 1.19存在多个高危CVE漏洞,建议升级至2.2及以上稳定版(若存在兼容性问题,可降级选择已修复漏洞的1.33版本)。在pom.xml中声明安全版本:

<dependency>
    <groupId>org.yaml</groupId>
    <artifactId>snakeyaml</artifactId>
    <version>2.2</version>
</dependency>

(3)修复guava:25.0-jre漏洞

guava 25.0-jre存在CVE-2020-8908本地权限提升漏洞,需升级至28.0-jre及以上版本,推荐使用最新稳定版32.1.3-jre。声明方式如下:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>32.1.3-jre</version>
</dependency>

可选:定位依赖来源

若不确定这些传递依赖来自哪个主依赖,可在项目根目录执行Maven命令查看依赖树:

mvn dependency:tree -Dincludes=commons-collections,snakeyaml,guava

定位后可通过<exclusions>标签在主依赖中排除旧版本,例如:

<dependency>
    <groupId>xxx</groupId>
    <artifactId>xxx</artifactId>
    <version>xxx</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </exclusion>
    </exclusions>
</dependency>

消除IntelliJ IDEA黄色警告

完成依赖升级后,点击IDEA右侧Maven面板的刷新按钮重新加载项目,黄色警告通常会自动消失。若仍存在,可通过File → Invalidate Caches...清除IDE缓存后重启。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:32:14