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

Maven拉取依赖版本异常:Selenium固定为3.141.59无法更新至4.3.0

问题现象

项目依赖版本升级时出现异常:所有Selenium相关依赖均被锁定为3.141.59版本,即使已手动将依赖配置修改为Selenium 4.3.0版本,配置仍未生效。
Selenium依赖版本锁定异常截图

已尝试的无效排查操作
  • 清空本地m2文件夹,重新下载全部依赖
  • 删除项目后重新导入加载
  • 执行mvn clean compile -U命令强制更新依赖
排查解决步骤
  1. 优先检查<dependencyManagement>版本覆盖问题
    Maven依赖仲裁规则中,<dependencyManagement>节点声明的版本优先级远高于普通<dependencies>节点的版本配置。不管是当前POM中配置的<dependencyManagement>,还是项目继承的父POM(比如Spring Boot官方父依赖、公司内部公共父包)中写死了Selenium 3.141.59版本,在普通依赖节点修改版本都不会生效。
    解决方法:在当前项目POM的<dependencyManagement>节点中显式声明Selenium 4.3.0版本,直接覆盖上层配置,参考配置如下:

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>4.3.0</version>
            </dependency>
            <!-- 若项目单独引入了selenium-api、selenium-chrome-driver等Selenium子依赖,统一在此处指定4.3.0版本 -->
        </dependencies>
    </dependencyManagement>
    
  2. 排查传递依赖引入旧版本问题
    在项目根目录执行命令mvn dependency:tree -Dincludes=org.seleniumhq.selenium:*,打印全链路中所有Selenium相关依赖的引入路径,定位是哪个第三方依赖传递引入了3.141.59版本的Selenium。定位到来源依赖后,在该依赖的配置中添加<exclusions>节点排除旧版本Selenium,再显式引入4.3.0版本即可。

  3. 清理IDE本地缓存
    IDE缓存异常经常会导致依赖版本显示不更新,以IDEA为例:先点击右侧Maven面板的「Reload All Maven Projects」按钮全量重载Maven配置;如果仍不生效,执行File -> Invalidate Caches...操作,勾选清除项目缓存后重启IDE即可。

  4. 检查Maven依赖锁文件
    检查项目根目录下是否存在dependency-locks目录、pom.xml.lock这类依赖锁文件(常见于使用Maven版本锁定插件、Spring依赖管理插件开启版本锁的场景)。如果存在这类文件,锁文件中固定的版本会覆盖POM中的配置,直接删除锁文件后重新执行依赖更新命令即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:58:03