其中遇到的问题如下:
1. 最外层的setting.gradle中include所有模块之后,需要将右侧gradle窗口中多余的根删除掉,不然会有报错导致项目无法运行
2. 多个平级模块之间相互引用,旁边的小伙伴不需要,但是我这里需要现在对应子模块中加上
代码语言:javascript复制includeFlat 'projectName'
然后在build.gradle中加上
代码语言:javascript复制compile project (':projectName')
才可以成功引用
3. 启动Application类的时候出现了找不到或无法加载的主类 类似的错误提示,没有其他错误信息,错误信息需要在下方的build窗口查看,可能是其中一个模块构建失败导致的,需要一一找出原因并解决。
4. 启动Application在一个模块中,需要扫描的在其他模块中,需要在@SpringbootApplication注解中加上扫描的包名,同时需要在setting.gradle和build.gradle中引用这些包,否则还是扫描不到。
SpringBoot默认包扫描机制是:从启动类所在包开始,扫描当前包及其子包下的所有文件。
5. 构建都成功,且都引用了其他平级模块,但是仍然无法注入对应的component,这时可能需要考虑在被引用的模块的build.gradle加上:
代码语言:javascript复制jar.enabled=true
6. 在构建拦截器过程中需要注入其他的组件,但是注入失败,调试发现是null,可以参考:
https://www.cnblogs.com/niceboat/p/6958895.html
代码语言:javascript复制// 代码来自于 https://www.cnblogs.com/niceboat/p/6958895.html
@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter {
@Bean
public UserInterceptor userInterceptor() {
return new UserInterceptor();
}
@Override
public void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(userInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/login/**", "/logout/**", "/loginPage/**", "/error/**");
super.addInterceptors(registry);
}
}
需要注意的是,除了上方@Bean的位置,还需要改掉下面的addInterceptor中的,不然还会继续报错,开始因为忘记修改这里又浪费了一些时间。