使用IDEA打包maven多模块相互依赖项目的正确方式

假设有一个父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放在同一个目录下

总结

第一种打包方式可以避免依赖的模块没有被一起打包进来

第二种打包方式需要注意依赖的模块并没有被一起打包进来

猜你喜欢

转载自blog.csdn.net/m0_55868614/article/details/120983764