【问题记录】上传jar到私服后,其他模块依赖后,无法使用正确的jar包
问题背景:
将已经开发的包A上传到私服后,其他模块B引用这个包A,部署的时候报错,通过日志发现无法引用这个包A中使用的class。
解决思路:
1、找到这类是在哪里被引用的。在idea中通过搜索找到引用的位置,并确定被依赖的模块。
2、从环境上把jar取下来,解压后发现lib目录下确实没有这个包。缺少的是下面这个包
3、本地复现。本地出个包,用同样的代码验证一下是否也没有这个缺失的包。出包后,发现确实也没有把这个这个包打进去。
4、从模块的pom入手,排查为什么没有把这个包引入。
4.1、在idea中查看A模块的依赖.发现A模块是有这个依赖的
4.2、在idea中查看B模块的依赖。发现B模块依赖了A模块,但是kafka-clients却没有被依赖,于是我打开B的pom文件,通过依赖进入A的pom文件,惊奇的发下,pom文件里面少了很多东西。只有下图中的这些,于是我知道,没有依赖成功,问题就出在A模块的pom文件
问题解决:
为什么会提示【pom was created by sonatype nexus】?我继续查看从环境上取下来的B模块的jar包,之前就发现没有kafka-cliens的jar包,我又打开了环境上A模块的jar包,看一下它的pom文件是否正常。结果发现它的pom文件也是上述内容,这基本上确定就是上传到私服的A模块的jar和pom的问题了
于是,我在想是什么原因导致的。我又重新上传了一次jar包,发现,上传的时候,GAV是可选的,之前选的是第二个,没有上传pom文件。于是我这次选择了第一个,在私服中使用自己上传的pom文件
重新出包,此问题解决
posted on 2021-07-16 11:30 1130136248 阅读(540) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架