【问题标题】:Swagger is not working after migrating Springfox from v. 2.9.2 to 3.0.0将 Springfox 从 v. 2.9.2 迁移到 3.0.0 后,Swagger 无法正常工作
【发布时间】:2022-01-01 05:58:51
【问题描述】:

我正在开发 Spring MVC 并尝试将 Springfox v. 2.9.2 迁移到 3.0.0。当我将版本更改为 3.0.0 时,它给了我错误:

org.springframework.context.ApplicationContextException: 无法启动 bean 'documentationPluginsBootstrapper';嵌套异常是 java.lang.NoClassDefFoundError: Could not initialize class springfox.documentation.schema.Types

这是我的依赖:

<swagger-version>3.0.0</swagger-version>
<swagger-version-ui>3.0.0</swagger-version-ui>
<swagger-annotations>2.1.11</swagger-annotations>

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>${swagger-version}</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>${swagger-version-ui}</version>
</dependency>
<dependency>
  <groupId>io.swagger.core.v3</groupId>
  <artifactId>swagger-annotations</artifactId>
  <version>${swagger-annotations}</version>
</dependency>

如何在Spring MVC中正确配置Springfox 3.0.0?

【问题讨论】:

  • 考虑转移到springdoc,而不是使用Springfox。您可以找到更多信息here
  • @JoãoDias 在集成 swagger 页面后显示 404,对此有任何想法,我的项目不是 springboot 应用程序
  • 很遗憾没有,我在 Spring Boot 应用程序中一直使用没有任何问题。

标签: java spring-mvc swagger springfox


【解决方案1】:

网上很多资源都说只要springfox-swagger2springfox-swagger-ui这两个包都可以。我发现如果只用这两个包来运行项目,就会报ClassnotFoundException或者NoSuchMethodException。一点一点的添加,最后实际导入的包如下:

<spring.version>5.1.5.RELEASE</spring.version>
<spring.plugin.version>2.0.0.RELEASE</spring.plugin.version>
<swagger.version>3.0.0</swagger.version>
 <!-- swagger2 jar-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-common</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-spring-web</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-core</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-spi</artifactId>
            <version>${swagger.version}</version>
        </dependency>

        <!--spring plugin,configure swagger-->
        <dependency>
            <groupId>org.springframework.plugin</groupId>
            <artifactId>spring-plugin-core</artifactId>
            <version>${spring.plugin.version}</version>
        </dependency>

我不知道具体原因。但是我试了一下,如果缺少任何一个包,就会报错。

【讨论】:

    猜你喜欢
    • 2021-05-21
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多