【问题记录】上传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 阅读(524) 评论(0) 编辑 收藏 举报