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

JHipster 7.9.3是否支持Java17、Spring Boot3及Spring Framework6?升级报错求助

问题分析与解决方案

这个错误是因为JHipster 7.9.3 自带的 SpringDoc 配置类与 Spring Boot 3 不兼容导致的:

  • JHipster 7.9.3 针对 Spring Boot 2.7 开发,依赖的是 SpringDoc v1.x 版本;
  • Spring Boot 3 要求使用 SpringDoc v2.x 版本,而该版本中 org.springdoc.core.SpringDocConfigProperties 类已被移除或重构,导致 JHipster 自带的 JHipsterSpringDocGroupsConfiguration 无法找到依赖的 Bean。

解决步骤

1. 升级 SpringDoc 依赖到适配 Spring Boot 3 的版本

如果使用 Maven,修改 pom.xml,替换旧的 SpringDoc 依赖为 Spring Boot 3 兼容的 starter:

<!-- 移除旧的 SpringDoc 依赖(比如 springdoc-openapi-ui) -->
<!-- 添加适配 Spring Boot 3 的 starter -->
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.2.0</version>
</dependency>

如果使用 Gradle,修改 build.gradle:

// 移除旧依赖
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'

2. 替换 JHipster 自带的 SpringDoc 配置

由于 JHipster 7.9.3 的 JHipsterSpringDocGroupsConfiguration 依赖旧版 SpringDoc API,需要自定义 GroupedOpenAPI Bean 替代它:
创建一个新的配置类(或修改现有配置):

import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CustomOpenAPIConfiguration {

    @Bean
    public GroupedOpenApi openAPIDefaultGroupedOpenAPI() {
        return GroupedOpenApi.builder()
                .group("default")
                .pathsToMatch("/api/**")
                .build();
    }
}

同时,确保移除或禁用 JHipster 自带的 JHipsterSpringDocGroupsConfiguration(可以通过 @ComponentScan 排除该类,或者在配置文件中禁用相关自动配置)。

3. 可选:升级 JHipster 到 8.x 版本

JHipster 8.x 官方适配了 Spring Boot 3 和 Java 17,升级后可以直接使用官方提供的配置,无需手动调整依赖和配置类。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:56:10