[问题解决]Unable to infer base url. This is common when using dynamic servlet registration...

        由于项目需要,使用到java后台服务,因此我按照需求搭建了vscode + springboot + maven +swagger框架为主体的项目。

        在照着网上的方式进行配置后(配置方式:VSCode搭建SpringBoot开发环境),发现出现了如下图所示的问题

localhost:8080

        首先在出现这个问题的时候,网上一搜发现出现这个问题的很多,顿时感觉问题不大,打开看了下,基本上都是下面的问题:

1.在SwaggerConfig.java的配置文件中添加

@Configuration // 配置类      
@EnableSwagger2 //开启swagger功能

但是很明显,使用这个的基本不会出现这样的问题。

2.pom.xml中,swagger的版本问题导致的,换2.6.1之类的版本,但是看了下,我的是springboot2.4.1 + maven3.5.0 + swagger2.9.2这个不存在说兼容什么问题,发现依然是不对的,也不是这个原因。

3.说是其他包冲突,但是我这个只有基本的包,新建的项目,不存在这种问题。

        同时这个问题困扰了我这边两天,没有办法只能一直尝试。

        我想到在GitHub上面找一找swagger的demo试试,于是找到一个下载下来,用vscode打开比对,后面一点点复制代码过来,除了项目名称不一样,配置、代码其他都是一样的,但是在打开时,还是出现了localhost:8080,这个时候,我反复比对,发现两个里面有一个地方不一样。自己建的项目少个application.yml。

 这个时候在自己的项目中同目录下也创建一个application.yml,在里面写上

spring:
  profiles:
#    active: release
    active: dev

注意:此时显示状态为dev,意味着是开发debug模式,而不是发行release版本 ,如果是release应该是自动屏蔽了。

所以在开发时,需要文档的时候就可以设置为dev即可

 然后构建运行,再次在浏览器打开链接: 

 Swagger UIicon-default.png?t=M85Bhttp://localhost:8080/swagger-ui.html#/

 此时可以看到链接正常打开:

猜你喜欢

转载自blog.csdn.net/LeeKitch/article/details/126967804