在SpringBoot多个模块开发过程中,如果模块有互相依赖的情况下,那么在打包的时候,会有问题,自己研究了半天,把我遇到的问题和解决办法,给大家分享一下.
项目目录
其中的straw-commons为被依赖的模块,其他的模块依赖这个模块,仅以straw-api-question模块打包的解决办法举例说明一下.
- 报错截图
1:调试不能依赖commons包,通过翻阅资料和实验,发现当项目单独打包时,不会主动去编译所依赖的模块项目,而是去本地仓库找 jar 包,所以首先要先打包straw-commons,但是打包commons又出现问题,由于commons没有主程序文件,所以又会报错,报错如下
没有主类,commons也不能打包,进过查阅资料查到在pom文件中加入插件可以解决此问题:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>NONE</layout> <!--让maven不打包可执行jar,不扫描项目的main函数-->
<classifier>exec</classifier> <!--普通jar和可执行jar不同名,普通jar为xx.jar , 可执行jar为 xx-exec.jar-->
</configuration>
</plugin>
这样就可以打包commons,然后打包question就可以成功了
https://ld246.com/article/1593485569481#%E6%80%BB%E7%BB%93