【四】SpringCloud Alibaba之重构Maven结构

导读:本篇文章讲解 【四】SpringCloud Alibaba之重构Maven结构,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

根据上一章节整合Dubbo之后,错误频频,人都傻了,干脆重构了整个项目,分清了父子工程的结构,如下:

目录

一、新建父工程

二、新建子工程

三、改造父工程pom文件

四、改造子工程pom文件

五、测试

六、依赖冲突


一、新建父工程

直接新建一个springboot项目,名为nacosdemonew,为了和前面章节的项目区分。删除无用的文件夹,结果如下:

【四】SpringCloud Alibaba之重构Maven结构

二、新建子工程

同样的方式新建三个子工程(同前几章一样,新增一个api服务,用来存接口,此章节不讲具体内容),结果如上图上个子模块。

【四】SpringCloud Alibaba之重构Maven结构 

三、改造父工程pom文件

改造父工程的pom文件,让子模块可以继承(后面的依赖我会全部加到父工程,子工程只加自己独有的依赖),修改后如下图:

【四】SpringCloud Alibaba之重构Maven结构

1、默认生成的springboot的依赖不需要去修改,子类也可以通过集成父pom的方式继承springboot的依赖。

2、设置关联子模块属性:modules,值为子模块的名称

3、新增packaging属性,父模块必须为pom,子模块为jar

4、dependencies里加上所有子模块公用的依赖

四、改造子工程pom文件

改造子模块的pom文件,让子模块可以继承父工程的pom依赖,如下:

【四】SpringCloud Alibaba之重构Maven结构

1、子工程的parent标签里面直接复制父工程的‘avg’三要素,如图(下图是父工程):

【四】SpringCloud Alibaba之重构Maven结构

2、新增packaging标签,值为jar

3、注意所有子工程的plugin标签都不要删,这个是打包插件

五、测试

测试在父工程引入

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

可以发现在子工程可以正常使用RestController等注解,父子工程搭建成功。

六、依赖冲突

在整合各种框架时,可能存在依赖冲突的情况,推荐一个插件,maven helper。

【四】SpringCloud Alibaba之重构Maven结构

安装之后,进入pom文件,下方会多出一个选项,

【四】SpringCloud Alibaba之重构Maven结构点击可以进入查看依赖的情况,如下标红的就是存在冲突的依赖

【四】SpringCloud Alibaba之重构Maven结构

点击右键,点击exclude,可以自动排出版本冲突的依赖。(若是父工程的依赖,只在父工程有用,在子模块点击exclude会提示失败)

【四】SpringCloud Alibaba之重构Maven结构

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/12774.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!