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

使用Solr 9+的Http2SolrClient Builder时如何解决NoClassDefFoundError?

解决Http2SolrClient初始化时的NoClassDefFoundError问题

问题根源

Spring Boot 2.7.13默认依赖的Jetty版本(9.4.x)与SolrJ 9.2.0所需的Jetty版本(11.x)存在冲突,导致org.eclipse.jetty.http.HttpFields$Mutable类缺失——该类是Jetty 10及以上版本才新增的,而Spring Boot 2.7.x自带的Jetty版本过低,无法提供这个类。

可行解决方案

方案1:用Solr BOM统一依赖版本

在Maven的dependencyManagement中引入Solr的BOM,让它自动管理所有Solr相关依赖(包括其依赖的Jetty组件)的版本,避免冲突:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.solr</groupId>
            <artifactId>solr-bom</artifactId>
            <version>9.2.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

保持原有的solr-solrj依赖即可,无需额外添加Jetty相关依赖。

方案2:手动排除冲突依赖并引入兼容版本

如果不想使用BOM,可以在solr-solrj依赖中排除Spring Boot管理的Jetty组件,同时直接引入Solr 9.2.0兼容的Jetty版本:

<dependency>
    <groupId>org.apache.solr</groupId>
    <artifactId>solr-solrj</artifactId>
    <version>9.2.0</version>
    <exclusions>
        <!-- 排除所有Spring Boot管理的Jetty依赖 -->
        <exclusion>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- 引入Solr 9.2.0适配的Jetty核心依赖 -->
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-http</artifactId>
    <version>11.0.15</version>
</dependency>
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-client</artifactId>
    <version>11.0.15</version>
</dependency>
<dependency>
    <groupId>org.eclipse.jetty.http2</groupId>
    <artifactId>http2-client</artifactId>
    <version>11.0.15</version>
</dependency>

注:可以通过mvn dependency:tree命令查看Solr 9.2.0实际依赖的Jetty版本,确保引入的版本与之完全一致。

方案3:升级Spring Boot版本

如果项目允许,升级到Spring Boot 3.x系列版本(如3.1.x),该版本默认依赖的Jetty版本为11.x,与Solr 9.2.0的依赖完全兼容,无需额外调整依赖配置。

验证步骤

修改依赖后,执行mvn clean install重新构建项目,启动应用后Http2SolrClient的初始化即可正常完成,不会再触发NoClassDefFoundError异常。

内容的提问来源于stack exchange,提问作者Marek Bernád

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:36:15