Skip to content

Swagger UI fails to load with Spring Boot 3.4.x - Workaround provided #50

@inhwanpark7

Description

@inhwanpark7

Issue

When running the application with Spring Boot 3.4.7, Swagger UI does not load at http://localhost:8080/swagger-ui.html.

Error:

NoResourceFoundException: No static resource swagger-ui.html

Environment

  • Spring Boot: 3.4.7 (Spring Framework 6.2.8)
  • Java: 17
  • Transitive dependency: springdoc-openapi-ui:1.5.13 (from inspector-web-public)

Root Cause

SpringDoc 1.5.13 is designed for Spring Boot 2.x and is incompatible with:

  • Spring Boot 3.x (requires Jakarta EE 9+, jakarta.* packages)
  • Spring Framework 6.2.x (introduces API changes in ControllerAdviceBean)

Workaround

I successfully resolved this by excluding the incompatible dependency and adding SpringDoc 2.7.0:

<dependency>
    <groupId>org.1edtech</groupId>
    <artifactId>inspector-web-public</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.7.0</version>
</dependency>

Swagger UI is now accessible at: http://localhost:8080/swagger-ui/index.html

Suggestion

Consider updating inspector-web-public to use SpringDoc 2.7.0+ for out-of-the-box compatibility with Spring Boot 3.4.x, or document this workaround in the README.

Version Compatibility

SpringDoc Spring Boot Status
1.5.x 2.x ❌ Not compatible with Boot 3.x
2.7.0+ 3.0-3.4 ✅ Fully compatible

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions