当我将Swagger抽取到common模块中,使其它模块方便调用swagger时,出现了Unable to infer base url. This is common when using dynamic…。
经过查阅资料发现,需要在其他模块的启动类上添加@ComponentScan来扫描Swagger的配置类
当我添加了@ComponentScan并将basePackages指定到我的Swagger配置类包后,发现虽然Swagger能够成功运行了,但是我的接口却全部消失。
在此查阅资料后发现,原来当我@ComponentScan的basePackages指定到我Swagger配置类的包下后,它就只会扫描这个包下的注解了,导致我模块的接口的注解它是无法扫描到的,因此@ComponentScan的扫描应该尽量模糊一些,否则会导致出现一些Bean扫描不到。
如上图所示,basePackage只会扫描common包下的注解,因此我userservice模块下的注解不会被扫描到,导致swagger可以启动,但是却找不到接口。
当我修改成两个模块中相同包名的部分,它就会扫描所有模块下com.wiken的注解了,这样问题就解决了