我在父项目中把SCA的nacos-client的版本排除了,新增了2.0.4的版本,打包显示是nacos-client的版本是2.0.4,但为什么我子项目中的maven依赖显示的还是nacos-client的1.4.2版本?
父项目:
子项目:
请问这种是什么原因?我现在必须在子项目中再排除掉nacos-client,再在子项目中引入nacos-client的2.0.4才行
根据您提供的屏幕截图,显示了您在父项目中排除了 SCA 的 nacos-client 依赖,并添加了版本为 2.0.4 的 nacos-client 依赖。但是在子项目中,maven 依赖仍然显示为 nacos-client 的 1.4.2 版本。
这种情况可能是由于子项目继承了父项目的依赖关系,导致子项目无法获取到新的 nacos-client 依赖。为了解决这个问题,您可以尝试以下两个解决方案:
在子项目中排除 nacos-client 1.4.2 依赖:在子项目的 pom.xml 文件中,排除掉 nacos-client 1.4.2 的依赖,手动引入 nacos-client 2.0.4 的依赖。可以通过添加如下代码来排除依赖:
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.4</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
在父项目中统一管理依赖版本:在父项目的 pom.xml 文件中,将 nacos-client 的版本设置为 2.0.4,并将该依赖声明为 中的一个依赖。然后在子项目中引入 nacos-client 依赖时,不指定版本号,让其继承父项目中的版本。如下所示: 在父项目 pom.xml 中:
<dependencies>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.4</version>
</dependency>
</dependencies>
</dependencyManagement>
然后在子项目中引入 nacos-client 依赖时,不指定版本号:
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</dependency>
两种方法都可以解决子项目无法获取到新的 nacos-client 依赖的问题。选择哪种方法取决于您的项目需求和组织结构。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。