2
我想添加springfox-swagger到我的Spring MVC項目。我有以下配置:Springfox Swagger拋出StackOverflowError
@Configuration
@EnableSwagger2
@ComponentScan(basePackageClasses = com.mycompany.MyCtrl.class)
public class SpringFoxConfig {
@Autowired
private TypeResolver typeResolver;
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2);
}
}
@Configuration
@EnableWebMvc
@EnableCaching
@EnableAspectJAutoProxy(proxyTargetClass = true)
@ComponentScan(basePackageClasses = { ApplicationConfig.class, AppConfig.class})
@Import(SpringFoxConfig.class)
public class ApplicationConfig extends WebMvcConfigurerAdapter implements CachingConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
但部署後,我無法訪問任何控制器和後1-5分鐘,我得到以下堆棧跟蹤:
2015-12-24 18:26:46,297 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-5) Context initialization failed: com.google.common.util.concurrent.ExecutionError: java.lang.StackOverflowError
at springfox.documentation.spi.schema.contexts.ModelContext.hasSeenBefore(ModelContext.java:156) [springfox-spi-2.3.0.jar:2.3.0]
at springfox.documentation.spi.schema.contexts.ModelContext.parentHasSeenBefore(ModelContext.java:174) [springfox-spi-2.3.0.jar:2.3.0]
at springfox.documentation.spi.schema.contexts.ModelContext.hasSeenBefore(ModelContext.java:157) [springfox-spi-2.3.0.jar:2.3.0]
沒有springfox,我的控制器正常工作。我做錯了什麼?
查看您的日誌可能會提供有關哪種模型導致問題的線索。 –
您是否嘗試升級到2.6.0以查看您的問題是否已修復? –