新人学习过程中踩坑系列之---springboot多模块项目编译以及调用公共模块时的问题
- 首先需要注意父工程可以为springboot项目,但是公共模块子工程最好为maven工程同时不需要启动类(如common等),业务模块的子工程可以为springboot项目需要启动类(如service等)。
原因是springboot的maven打包工具如果找不到启动类会报错,一般公共模块无启动类所以最好为maven工程创建。 - 如果业务模块需要调用公共模块时,首先需要引入公共模块依赖(在pom文件中引入即可),其次根据需要在启动类加上注解,进行提示扫描。
@ComponentScan(basePackages = {"xxx.xxx"})
-
如果业务模块需要调用公共模块时,启动启动类前最好先手动将公共模块进行install,否则可能会报错。
-
springboot的maven打包工具依赖如下所示,最好只在业务模块即具有启动类的模块的pom文件即可,其他的最好不要引入。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>