Spring Boot多模块踩坑

多模块pom.xml

packaging

packaging是项目的打包类型,常用的有如下几种:

  • war:打包为war包
  • jar:打包为jar包
  • pom:用在父级工程或者聚合工程中,做jar包的版本控制

module如果访问了外部的程序,需要在pom中引入依赖

1
2
3
4
5
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>1.3</version>
</dependency>

注入问题

解决方法

  • 添加包扫描

    1
    2
    3
    4
    5
    6
    @SpringBootApplication(scanBasePackages={"com.fusionbank"})
    public class HelloWorldApplication {
    public static void main(String[] args) {
    SpringApplication.run(HelloWorldApplication.class, args);
    }
    }
  • 移动application文件到com.fusionbank层级,本质也是为了扫描到这个层级下的包

异常

写了一个java的middle server,在里面调用的middle版本的server,请求过去后,看java的日志,只打印了

1
2020-03-29 11:50:48.542 [nioEventLoopGroup-3-3] ^[[39mDEBUG^[[0;39m c.f.m.a.framework.server.RpcRequestProcessService - middle call service:get_id

后来发现

1
2
3
4
5
public Builder setTableName(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}

这里set时传入的字符串未设置,抛出来了异常没有捕捉