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

Selenium 4.0.x在IDE运行正常 打fat JAR后找不到对应浏览器版本CDP实现怎么办

根因

Selenium针对不同浏览器大版本的CDP适配实现为独立模块,Eclipse运行时会从各自的依赖包路径加载META-INF/services下的服务注册配置,可正常扫描到可用的CDP实现类。使用Maven构建fat JAR时如果未做特殊配置,不同依赖包下同名的服务配置文件会互相覆盖,最终仅保留no-op空实现的注册信息,导致Selenium运行时无法匹配到对应浏览器版本的CDP实现。

解决方案
  • 优先升级Selenium到4.10+稳定版本,Selenium 4.6及以上版本自带的Selenium Manager会自动处理浏览器、驱动与CDP实现的版本匹配逻辑,可大幅降低版本适配类问题出现概率
  • 若使用maven-assembly-plugin构建fat JAR,添加metaInf-services配置合并所有服务注册文件,参考配置如下:
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>3.6.0</version>
  <configuration>
    <archive>
      <manifest>
        <mainClass>替换为你的启动类全限定名</mainClass>
      </manifest>
    </archive>
    <descriptorRefs>
      <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
    <!-- 合并META-INF/services下的服务配置 -->
    <containerDescriptorHandlers>
      <containerDescriptorHandler>
        <handlerName>metaInf-services</handlerName>
      </containerDescriptorHandler>
    </containerDescriptorHandlers>
  </configuration>
  <executions>
    <execution>
      <id>build-fat-jar</id>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
    </execution>
  </executions>
</plugin>
  • 若使用maven-shade-plugin构建fat JAR,添加ServicesResourceTransformer转换器合并服务注册文件,参考配置如下:
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <version>3.5.1</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>shade</goal>
      </goals>
      <configuration>
        <transformers>
          <!-- 合并服务注册配置 -->
          <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
          <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
            <mainClass>替换为你的启动类全限定名</mainClass>
          </transformer>
        </transformers>
      </configuration>
    </execution>
  </executions>
</plugin>

配置修改完成后执行mvn clean package重新构建fat JAR,启动运行即可消除该警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:15:03