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

无法识别spring.data.solr.host配置属性及依赖版本问题求助

问题分析与解决方案

核心问题

你的依赖存在严重版本不兼容问题:

  • 用了Spring Boot 3.1.2的spring-boot-starter-web,却搭配了Spring Boot 2.4.13版本的spring-boot-starter-data-solr,两个大版本的Spring Boot生态无法兼容。
  • 手动额外声明spring-data-commons和spring-data-solr,破坏了Spring Boot依赖管理的版本一致性,直接导致EntityInstantiators类找不到这类NoClassDefFoundError。
  • 旧版本的Solr Starter无法适配Spring Boot 3.x的配置体系,因此连接属性不被识别。

解决步骤

  1. 清理冲突依赖
    移除单独声明的spring-data-commons和spring-data-solr,spring-boot-starter-data-solr已经包含这些组件,且版本会由Spring Boot统一管控。

  2. 统一Spring Boot版本
    使用与spring-boot-starter-web同版本的spring-boot-starter-data-solr(3.1.2),确保整个Spring Boot生态版本一致。

正确的依赖配置如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>3.1.2</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-solr</artifactId>
    <version>3.1.2</version>
</dependency>
  1. 修正Solr配置属性
    在application.properties中使用Spring Boot 3.x兼容的标准配置:
# Solr服务器地址
spring.data.solr.host=http://localhost:8983/solr
# 可选:指定默认使用的Solr核心
spring.data.solr.core=your-core-name

原理说明

Spring Boot的starter依赖会自动管理所有关联组件的版本(如Spring Data Solr、Spring Data Commons等),手动指定这些组件的版本会打破版本一致性,引发类加载异常和配置失效。统一使用同版本的Spring Boot starter即可解决所有版本不兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:23:16