假设有一个父maven项目project,有三个子模块producer,consumer和common,其中producer依赖common,consumer也依赖于common,也就是producer,consumer的pom.xml文件中导入了common模块
第一种方式:使用idea自带的打包方式
快捷键Ctr+Alt+Shift+S弹出以下画面
查看打包出来的jar
可以看到这种打包方式打包出来的jar包中包含了common模块
第二种方式:使用maven打包方式(没有使用springboot-maven-plugin插件)
查看打包后的jar包
可以看到只有consumer模块,没有common模块,由于consumer依赖于common,那么这样导致的后果,就是在运行consumer模块时会报错,找不到common中的类,因为打包时,并没有将common模块也一起打包进来。
解决办法
将maven打包的common.jar和consumer.jar放在同一个目录下
总结
第一种打包方式可以避免依赖的模块没有被一起打包进来
第二种打包方式需要注意依赖的模块并没有被一起打包进来