因为偷懒没写<dependencyManagement>一晚上白干了!

因为偷懒没写dependencyManagement一晚上白干

事情是这样的,最近在学习DDD架构,感觉就像个小型微服务,目录结构是这样的,mq和job不列出来了

父工程root

|___ api

|___ application

​ |____|___controller

|___ domain

|___ infra

|___ common

|___ starter

事情是这样的,我在infra层的pom.xml里面引入了我的common层,然后我对common层的依赖的版本进行了变更,按道理来说

infra既然已经导入了common的依赖,那common的依赖变更了,infra下包含的common的依赖应该也会变更才对,这时候出问题了

这个时候我还没当回事,我以为是缓存的问题,然后我就进行maven的缓存清理 mvn clean install -U 发现还是没用

真给我整懵了,这怎么回事呢?

接下来的原因就是导致我一晚上白干的伏笔了,我因为偷懒,没有在父工程的pom里面规定依赖版本,直接把依赖版本写到了common的pom里面,至于为什么依赖版本写到common的pom里面后更新依赖版本Maven多模块版本依赖出错的问题我到现在也不理解,因为我父工程并没有限制lombok的版本,所以也不存在父工程版本控制的可能,后面才想起来自己没有做父工程的依赖版本管理

为自己的偷懒买单了,在父工程的pom里面进行版本管理

  • 父工程的pom添加下面这个
xml 复制代码
    <properties>
        <lombok.version>1.18.26</lombok.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
  • common包下的pom修改成这个
xml 复制代码
 		<dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
    </dependency>

总结

我为什么要修改这个版本呢?其实在本地进行打包啊什么的都没有出现任何错误的,都是正常的

但是我在尝试将项目放到jenkins上进行自动化部署的时候,出现了问题,问题是这样的

一句话就是:lombok版本低了,要提高,就因为自己偷懒没写dependencyManagement一晚上都在不断的刷新maven刷新maven

相关推荐
Bonne journée几秒前
‌在Python中,print(f‘‘)是什么?
java·开发语言·python
潘多编程16 分钟前
Spring Boot微服务架构设计与实战
spring boot·后端·微服务
2402_8575893621 分钟前
新闻推荐系统:Spring Boot框架详解
java·spring boot·后端
2401_8576226623 分钟前
新闻推荐系统:Spring Boot的可扩展性
java·spring boot·后端
小懒编程日记27 分钟前
【数据结构与算法】B树
java·数据结构·b树·算法
Y_3_738 分钟前
【回溯数独】有效的数独(medium)& 解数独(hard)
java·数据结构·windows·算法·dfs·回溯
RangoLei_Lzs1 小时前
C++模版SFIANE应用踩的一个小坑
java·开发语言·ui
北极无雪1 小时前
Spring源码学习(拓展篇):SpringMVC中的异常处理
java·开发语言·数据库·学习·spring·servlet
VXbishe1 小时前
(附源码)基于springboot的“我来找房”微信小程序的设计与实现-计算机毕设 23157
java·python·微信小程序·node.js·c#·php·课程设计
winkee2 小时前
在 git commit 中使用 gpg key 进行签名
架构·前端框架·代码规范