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

SpringBoot引入swagger報(bào)錯(cuò)處理的解決方法

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

1. 報(bào)錯(cuò)說(shuō)明

在java項(xiàng)目中引入swagger 2.9.2版本,無(wú)法正常啟動(dòng),報(bào)錯(cuò)如下:

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 進(jìn)程已結(jié)束,退出代碼0

2. 查找原因

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

感覺(jué)我瞬間好像會(huì)了 ,沒(méi)錯(cuò),就是版本兼容問(wèn)題,說(shuō)干就干

2.1 此前筆者的代碼

spring boot版本為3+

swagger版本為2+

3. 問(wèn)題解決說(shuō)明

  • swagger 2.0版本和spring boot 3.x版本整合暫時(shí)是不行的,因?yàn)閟wagger的依賴底層用的是javax依賴包,而spring boot 3.x版本都是jakarta依賴包,一般是把spring boot2.5以下就可以了,但是想要2.5版本以上spring boot啟動(dòng)就會(huì)出報(bào)錯(cuò)
  • 因此這里不能再使用springfox,得換成別的,比如筆者使用的springdoc

4. 解決方案

4.1 在pom.xml引入springdoc包

這里面已經(jīng)包含了swagger,不用擔(dān)心如何引入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ù)標(biāo)簽管理系統(tǒng)", description = "數(shù)據(jù)標(biāo)簽管理", 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配置成功

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

相關(guān)文章

  • java 如何調(diào)用Python文件包括傳參

    java 如何調(diào)用Python文件包括傳參

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

    Java中的LinkedHashSet集合解讀

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

    SpringCloud Alibaba微服務(wù)啟動(dòng)報(bào)錯(cuò)原因及解決方案

    這篇文章給大家介紹了SpringCloud Alibaba微服務(wù)啟動(dòng)報(bào)錯(cuò)原因及解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2026-05-05
  • Java異常處理之java.lang.ClassCastException問(wèn)題

    Java異常處理之java.lang.ClassCastException問(wèn)題

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

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

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

    SpringBoot自動(dòng)裝配原理及分析

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

    如何用java程序(JSch)運(yùn)行遠(yuǎn)程linux主機(jī)上的shell腳本

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

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

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

    Java枚舉的使用與反射應(yīng)用方式

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

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

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

最新評(píng)論

双峰县| 上栗县| 张家川| 滁州市| 曲阜市| 卢龙县| 秦安县| 巴马| 嘉祥县| 大余县| 东台市| 平陆县| 志丹县| 双牌县| 汤原县| 科尔| 信宜市| 屏南县| 丰原市| 茌平县| 呼伦贝尔市| 泰兴市| 浪卡子县| 松滋市| 辽阳县| 纳雍县| 海门市| 雅安市| 和林格尔县| 社会| 旌德县| 日喀则市| 平阳县| 潮州市| 青铜峡市| 涪陵区| 沙田区| 额济纳旗| 阿坝| 南宁市| 丹棱县|