项目为gradle构建的spring-boot项目,启动时报错如下:
点开报错点WebApplicationContextServletContextAwareProcessor.java:40
看到报错为ServletContextAwareProcessor缺少构造方法,打开看到确实没有,而引用的spring-web是org.springframework:spring-web:3.2.9.RELEASE,猜想是包冲突,接下来就是解决冲突的问题了
因为项目是多module项目,因此使用gradle dependencies查看依赖树。
gradle :xxxxx-web-war:dependencies
(更精确的)或
gradle -q dependencies xxxxx-web-war:dependencies --configuration compile
依赖树具体依赖关系就不一一列了,从依赖树中可以看到引用的dubbo2.8.4包依赖了3.2.9的spring-web
因此在子模块的build.gradle中找到对应依赖,添加exclude 移除相关包即可