springboot gradle 使用过程中遇到的问题小结(1)

利用springboot+gradle搭建多模块项目,主要参考博客:https://www.cnblogs.com/dauber/p/9466374.html

其中遇到的问题如下:

1. 最外层的setting.gradle中include所有模块之后,需要将右侧gradle窗口中多余的根删除掉,不然会有报错导致项目无法运行

2. 多个平级模块之间相互引用,旁边的小伙伴不需要,但是我这里需要现在对应子模块中加上

includeFlat 'projectName'

然后在build.gradle中加上

compile project (':projectName')

才可以成功引用

3. 启动Application类的时候出现了找不到或无法加载的主类 类似的错误提示,没有其他错误信息,错误信息需要在下方的build窗口查看,可能是其中一个模块构建失败导致的,需要一一找出原因并解决。

4. 启动Application在一个模块中,需要扫描的在其他模块中,需要在@SpringbootApplication注解中加上扫描的包名,同时需要在setting.gradle和build.gradle中引用这些包,否则还是扫描不到。

SpringBoot默认包扫描机制是:从启动类所在包开始,扫描当前包及其子包下的所有文件。
 

5.  构建都成功,且都引用了其他平级模块,但是仍然无法注入对应的component,这时可能需要考虑在被引用的模块的build.gradle加上:

jar.enabled=true

6. 在构建拦截器过程中需要注入其他的组件,但是注入失败,调试发现是null,可以参考:

https://www.cnblogs.com/niceboat/p/6958895.html

// 代码来自于 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中的,不然还会继续报错,开始因为忘记修改这里又浪费了一些时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值