开发者

IDEA打包maven多模块相互依赖项目全过程

目录
  • 使用场景
  • 第一种方式
  • 第二种方式
  • 解决办法
  • 总结

使用场景

假设有一个父maven项目project,有三个子模块producer,consumer和common,其中prodjsucer依赖common,consumer也依赖于common,也就是producer,consumer的pom.XML文件中导入了common模块

第一种方式

使用idea自带的打包方式

  • 快捷键Ctr+Alt+Shift+S弹出以下画面WSmIJta

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

  • 查看打包出来的jar

IDEA打包maven多模块相互依赖项目全过程

可以看到这种打包python方式打包出来的jar包中包含了common模块

第二种方式

使用maven打包方式(没有使用spriphpngboot-maven-plugin插件)

IDEA打包maven多模块相互依赖项目全过程

IDEA打包maven多模块相互依赖项目全过程

  • 查看打包后的jar包

IDEA打包maven多模块相互依赖项目全过程

可以看到只有consumer模块,没有common模块,由于consumer依赖于common,那么这样导致的后果,就是在运行consumer模块时会报错,找不到common中的类,编程客栈因为打包时,并没有将common模块也一起打包进来。

解决办法

将maven打包的common.jar和consumer.jar放在同一个目录下

总结

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜