本篇当中重点记录微服务项目(maven父子级项目)打包插件,文章没有一句废话, 就是直接复制粘贴到自己项目就可以用,亲测有效!
项目层级结构:
这是最近做的微服务练习,项目是一个典型的聚合工程,mscloud的依赖就是用来管理版本号的,所有微服务有一个公共的依赖模块,就是专门存放util相关的common模块。
在实际开发当中层级结构大同小异,有的甚至会将service、dao都拆分成单独的模块。但是对于打包来说,是一样的。关于ider创建聚合项目不熟练的,可以看一下我的这一篇文章:
https://blog.csdn.net/weixin_43888891/article/details/125267683

文章图片
父工程打包依赖:
maven-surefire-plugin
>true
true
maven-compiler-plugin
>1.8
1.8
utf-8
子工程打包依赖:
关于spring-boot-maven-plugin插件不了解的可以看我的这一篇文章:
https://blog.csdn.net/weixin_43888891/article/details/122523633
关于Maven当中resources标签不懂的可以看我的这一篇文章:
https://blog.csdn.net/weixin_43888891/article/details/122406081
本次依赖当中并没有用到resources标签,resources标签一般是当我们打出来的jar包少文件的时候会配置,但是基于上面项目案例,使用本篇文章的依赖打包 并没有出现少文件的情况所以没用到。
consumer-consul org.springframework.boot
spring-boot-maven-plugin
2.4.2
com.gzl.cn.OrderConsulMain80
repackage
打包流程:
一定是clean install根项目,也就是父项目,原因就是common项目是其他服务所依赖的项目,假如common有变化,而你只是clean install单个的微服务,这时候就会出现common新加的代码,你并没有依赖进去,如果你项目用到了common新加的类,这时候打包可能直接就报错了。
【Maven|微服务项目(maven父子级项目)怎么打包】

文章图片
推荐阅读
- kafka|kafka之消息消费者基本知识
- SpringCloud|什么是Eureka(Eureka能干什么?Eureka怎么用?)
- elasticsearch|Elasticsearch 参数优化
- SSM+VUE项目(传智健康)|03-预约管理-检查项管理的增删改查页面完善
- java|Vue 2.7 正式发布,代号为 Naruto
- java|java 异步缓存_为什么redis在java是同步缓存,而在nodejs是异步缓存()
- JavaSE|【Java小游戏】俄罗斯方块
- 数据结构|【数据结构】优先级队列 - 堆
- JavaSE|【JavaSE】数组