Failed to start bean ‘documentationPluginsBootstrapper‘ StackOverflowError
生活随笔
收集整理的這篇文章主要介紹了
Failed to start bean ‘documentationPluginsBootstrapper‘ StackOverflowError
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個問題是因為項目整合了 swagger 依賴出現的
Swagger 是什么
Swagger 是通過注解的方式來生成對應的 API文檔,在接口上我們需要加上各種注解來描述這個接口。
Swagger 常見的注解有:
- @Api() , @ApiOperation() , @ApiParam() , @ApiModel() , @ApiResponse 等
問題分析
StackOverflowError 異常是內存溢出導致,出現了循環引入導致。
分析原因是因為控制層參數遞歸導致。Swagger 在解析控制層方法參數時,如果遇到非基本類型參數結構,就需要一層一層去解析,這就形成了遞歸解析,最終導致棧溢出。
解決方案
找到 @EnableSwagger 注解,將其注釋了。棄用Swagger解析參數。
如果實際業務需要,不允許上面的操作,那么就找到 StackOverflowError 對應的源碼
重寫遞歸解析參數的方法。 重寫該方法的大致思路就是將遞歸調用放法解析參數的那些代碼注釋掉。
如果你的項目涉及到符合參數的地方不多,那就把原有的VO類型參數改成String數據類型吧。
總結
以上是生活随笔為你收集整理的Failed to start bean ‘documentationPluginsBootstrapper‘ StackOverflowError的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring cloud 2.3.x 注
- 下一篇: JQuery选择器 属性值 等于 以开头