部署多功能模块依赖项目中解决的问题

介绍

做一个用户管理项目,采用的Spring-Cloud技术,还没确定最终的项目结构,所以展示的只是整个项目的一部分(Eureka在另一个工程中),我要说的工程是完整的,工程整体结构如下图所示。

在部署该工程过程中主要遇到两个问题,两个问题均与pom.xml文件有关系,在此主要讨论pom文件的设置。展示pom文件如下,Gateway模块依赖UserManagement模块且两个模块均需要生成jar包提供给系统执行。
MAP pom.xml(父)

Gateway pom.xml

UserManagement pom.xml

以上是解决问题后的pom文件

问题一:如何让打包出来的Gateway.jar对UserManagement.jar的依赖

从网上找了些资料,有说换mvn命令的,有说将build标签放在父pom中的,有说可以只在依赖包中设置build标签打出包含所有它依赖包的jar文件。实践证明,mvn命令的效果是一样的(尽管过程中有时甚至都过不了mvn打包环节的,而且一会过了一会儿过不了);如果最终你想让子模块打出的包通过java -jar命令运行出来(运行不出来报什么清单的错),就必须在子pom文件中声明build标签。最终我在maven多模块项目中子模块可以运行,打包报错找到答案:需要将UserManagement模块的普通包和可执行包分开生成,既能执行也能提供Gateway的依赖。

问题二:在阿里云流水线上打包报错找不到父模块的pom

参考链接:maven报错Non-resolvable parent POM---pom找不到parent指明relativePath的值即可(由于我指明的值是relativePath的默认值,所以我认为可能的原因是需要展开relativePath标签,至少本地测试没问题)

posted @   园糯  阅读(273)  评论(0编辑  收藏  举报
编辑推荐:
· [杂谈]如何选择:Session 还是 JWT?
· 硬盘空间消失之谜:Linux 服务器存储排查与优化全过程
· JavaScript是按顺序执行的吗?聊聊JavaScript中的变量提升
· [杂谈]后台日志该怎么打印
· Pascal 架构 GPU 在 vllm下的模型推理优化
阅读排行:
· WinForm 通用权限框架,简单实用支持二次开发
· 硬盘空间消失之谜:Linux 服务器存储排查与优化全过程
· 如何为在线客服系统的 Web Api 后台主程序添加 Bootstrap 启动页面
· 面试官:DNS解析都整不明白,敢说你懂网络?我:嘤嘤嘤!
· Fleck:一个轻量级的C#开源WebSocket服务端库
点击右上角即可分享
微信分享提示