IDEA打包maven多模块相互依赖项目全过程
目录
- 使用场景
- 第一种方式
- 第二种方式
- 解决办法
- 总结
使用场景
假设有一个父maven项目project,有三个子模块producer,consumer和common,其中prodjsucer依赖common,consumer也依赖于common,也就是producer,consumer的pom.XML文件中导入了common模块
第一种方式
使用idea自带的打包方式
- 快捷键Ctr+Alt+Shift+S弹出以下画面WSmIJta
- 查看打包出来的jar
可以看到这种打包python方式打包出来的jar包中包含了common模块
第二种方式
使用maven打包方式(没有使用spriphpngboot-maven-plugin插件)
- 查看打包后的jar包
可以看到只有consumer模块,没有common模块,由于consumer依赖于common,那么这样导致的后果,就是在运行consumer模块时会报错,找不到common中的类,编程客栈因为打包时,并没有将common模块也一起打包进来。
解决办法
将maven打包的common.jar和consumer.jar放在同一个目录下
总结
- 第一种打包方式可以避免依赖的模块没有被一起打包进来
- 第二种打包方式需要注意依赖的模块并没有被一起打包进来
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论