最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot引入swagger報錯處理的解決方法

 更新時間:2023年06月27日 10:26:27   作者:山野里的小菊花  
這篇文章主要給大家介紹SpringBoot引入swagger是會出現(xiàn)報錯的處理解決方法,文中有詳細的解決過程,感興趣的小伙伴可以跟著小編一起來學習吧

1. 報錯說明

在java項目中引入swagger 2.9.2版本,無法正常啟動,報錯如下:

2023-06-25T16:20:09.152+08:00 ERROR 38980 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) ~[na:na] at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) ~[na:na] at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na] at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) ~[na:na] at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) ~[na:na] at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na] at java.base/sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117) ~[na:na] at java.base/sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95) ~[na:na] at java.base/java.lang.Class.getGenericInterfaces(Class.java:1251) ~[na:na] at org.springframework.core.ResolvableType.getInterfaces(ResolvableType.java:500) ~[spring-core-6.0.8.jar:6.0.8] at org.springframework.core.ResolvableType.as(ResolvableType.java:448) ~[spring-core-6.0.8.jar:6.0.8] at org.springframework.core.ResolvableType.forClass(ResolvableType.java:1048) ~[spring-core-6.0.8.jar:6.0.8] at org.springframework.plugin.core.config.PluginRegistriesBeanDefinitionRegistrar.getTargetType(PluginRegistriesBeanDefinitionRegistrar.java:101) ~[spring-plugin-core-2.0.0.RELEASE.jar:2.0.0.RELEASE] at org.springframework.plugin.core.config.PluginRegistriesBeanDefinitionRegistrar.registerBeanDefinitions(PluginRegistriesBeanDefinitionRegistrar.java:71) ~[spring-plugin-core-2.0.0.RELEASE.jar:2.0.0.RELEASE] at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:373) ~[spring-context-6.0.8.jar:6.0.8] at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:729) ~[na:na] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:372) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:410) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:283) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:344) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:115) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:747) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:565) ~[spring-context-6.0.8.jar:6.0.8] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.0.6.jar:3.0.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-3.0.6.jar:3.0.6] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-3.0.6.jar:3.0.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[spring-boot-3.0.6.jar:3.0.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) ~[spring-boot-3.0.6.jar:3.0.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) ~[spring-boot-3.0.6.jar:3.0.6] at com.aiforail.datalabel.DataLabelApplication.main(DataLabelApplication.java:22) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:578) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-3.0.6.jar:3.0.6] Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] at java.base/java.lang.Class.forName0(Native Method) ~[na:na] at java.base/java.lang.Class.forName(Class.java:496) ~[na:na] at java.base/java.lang.Class.forName(Class.java:475) ~[na:na] at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) ~[na:na] ... 35 common frames omitted 進程已結束,退出代碼0

2. 查找原因

網(wǎng)上搜索了各種辦法,包括clone別人的代碼,感覺明明一模一樣的,為什么別人就可以,自己的就不行。直到看到了某篇博客的描述:

感覺我瞬間好像會了 ,沒錯,就是版本兼容問題,說干就干

2.1 此前筆者的代碼

spring boot版本為3+

swagger版本為2+

3. 問題解決說明

  • swagger 2.0版本和spring boot 3.x版本整合暫時是不行的,因為swagger的依賴底層用的是javax依賴包,而spring boot 3.x版本都是jakarta依賴包,一般是把spring boot2.5以下就可以了,但是想要2.5版本以上spring boot啟動就會出報錯
  • 因此這里不能再使用springfox,得換成別的,比如筆者使用的springdoc

4. 解決方案

4.1 在pom.xml引入springdoc包

這里面已經包含了swagger,不用擔心如何引入swagger

        <!-- 生成接口文檔 -->
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
            <version>2.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
            <version>2.0.2</version>
        </dependency>

4.2 創(chuàng)建配置文件(可省略)

在config文件夾下創(chuàng)建SpringDocConfig.java,添加以下代碼

@Configuration
@OpenAPIDefinition(info = @Info(title = "數(shù)據(jù)標簽管理系統(tǒng)", description = "數(shù)據(jù)標簽管理", version = "1.0"))
@SecurityScheme(name = "token", type = SecuritySchemeType.HTTP, bearerFormat = "JWT", scheme = "bearer")
public class SpringDocConfig {
}

4.3 在controller加入注解

4.4 查看接口文檔

在地址欄輸入http://localhost:9090/swagger-ui/index.html#/

ip和端口自行修改,之后可看到界面,代表swagger配置成功

到此這篇關于SpringBoot引入swagger報錯處理的解決方法的文章就介紹到這了,更多相關SpringBoot swagger報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java 如何調用Python文件包括傳參

    java 如何調用Python文件包括傳參

    這篇文章主要介紹了java 調用Python文件包括傳參的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Java中的LinkedHashSet集合解讀

    Java中的LinkedHashSet集合解讀

    這篇文章主要介紹了Java中的LinkedHashSet集合解讀,LInkedHashSet這個容器不知道大家在平時的工作用的多嗎,反正我基本上沒有用過,所以,本文主要對于它的特點、使用場景、實現(xiàn)原理,做一個講解,希望對大家平時的工作有所幫助,需要的朋友可以參考下
    2023-09-09
  • SpringCloud Alibaba微服務啟動報錯原因及解決方案

    SpringCloud Alibaba微服務啟動報錯原因及解決方案

    這篇文章給大家介紹了SpringCloud Alibaba微服務啟動報錯原因及解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2026-05-05
  • Java異常處理之java.lang.ClassCastException問題

    Java異常處理之java.lang.ClassCastException問題

    這篇文章主要介紹了Java異常處理之java.lang.ClassCastException問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Scala常用List列表操作方法示例

    Scala常用List列表操作方法示例

    這篇文章主要介紹了Scala常用List列表操作方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • SpringBoot自動裝配原理及分析

    SpringBoot自動裝配原理及分析

    SpringBoot通過@SpringBootApplication注解啟動自動裝配,其中@EnableAutoConfiguration導入AutoConfigurationImportSelect類,讀取META-INF下的配置文件,根據(jù)@Conditional條件篩選并注入符合條件的Bean到IOC容器
    2025-09-09
  • 如何用java程序(JSch)運行遠程linux主機上的shell腳本

    如何用java程序(JSch)運行遠程linux主機上的shell腳本

    這篇文章主要介紹了如何用java程序(JSch)運行遠程linux主機上的shell腳本,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • Spring Boot 4.0 新特性深度解析與實戰(zhàn)教程

    Spring Boot 4.0 新特性深度解析與實戰(zhàn)教程

    基于Spring Framework 7.0構建,新版本聚焦??性能革命??、??開發(fā)體驗優(yōu)化??和??云原生適配??三大核心方向,為現(xiàn)代Java應用開發(fā)帶來了顛覆性升級,本文給大家介紹Spring Boot 4.0 新特性深度解析與實戰(zhàn)教程,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Java枚舉的使用與反射應用方式

    Java枚舉的使用與反射應用方式

    枚舉類型是一種特殊的類,限定為固定實例集合,且是類型安全和線程安全的,枚舉類型不可繼承,但可以添加屬性和方法,支持單例模式,枚舉常量可以通過反射獲取和操作,提供了靈活性和擴展性
    2024-09-09
  • IDEA項目如何實現(xiàn)打jar包

    IDEA項目如何實現(xiàn)打jar包

    這篇文章主要介紹了IDEA項目如何實現(xiàn)打jar包問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評論

昌平区| 云南省| 芦山县| 龙泉市| 盐亭县| 赞皇县| 县级市| 雅江县| 当阳市| 河北省| 洛阳市| 格尔木市| 马边| 东兰县| 柞水县| 城步| 铁岭县| 乾安县| 克什克腾旗| 青川县| 武冈市| 开封市| 海阳市| 吉水县| 景德镇市| 务川| 当雄县| 郴州市| 江西省| 池州市| 乐亭县| 大关县| 云和县| 枣强县| 和龙市| 钦州市| 衢州市| 和顺县| 华池县| 上杭县| 上犹县|