《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 blog.csdn.net/sinat_34344123 「lvgo」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

食用前须知

本文以a b c 三个模块为例来搭建项目,以达到通俗易懂的初衷

模块a —– 基模块,就是人们常说的parent

模块b —– 其他模块都需要使用的一些工具,比如时间工具,json工具等

模块c —– 项目主要的内容,一般为聚合工程

先简单讲一下maven的一些特点

1. 继承 这个可以理解为java中的继承类似,父类定义的东西,子类如果你想用就拿过来用就可以;

2. 依赖 依赖就相当于我们java中的导包,二者有着异曲同工之妙; 你想用的东西只需要告诉maven它在哪就可以,它会自动帮你找过来给你用

3. 聚合 这个暂时我还没找到java中能与之对应的原型; maven聚合是将多个模块组装在一起,相互协调依赖运行;

创建步骤 (详细多图)

1. 创建一个空项目

file - new - project 一个空的项目

填写项目名称

选择要打开项目的方式

2.创建第一个模块a

新建一个模块

选择创建一个maven模块

填写模块基本信息

解决创建速度慢

设置一个属性 archetypeCatalog ,具体原因感兴趣的自行了了了姐吧

finish完成模块创建

3.创建第二个模块

选择继承的父工程

填好路径finish完成b模块创建

同 b 完成 c 模块创建

4.创建聚合工程 c

在 c 模块下新建一个maven工程模块 c1

继承 c 模块

配置 c1 工程路径

同 c1 完成 c2 工程模块创建

c2 模块 依赖 c1 模块

c 工程模块 依赖 b 工程模块

最后再说两句

这种项目结构主要应用在大型项目中,多人协作开发,小型项目 或 人员配置不足情况下不建议使用; 之前因为一直没有机会参与大型项目开发,或是这种分布式项目的搭建,网上也没有这方面系统全面的说明 ,可能真正用到这种架构的不需要自己动手去弄,等着别人搭好进去码代码就可以了.所以本人也是抱着学习的 ,态度发布这篇文章,希望能够帮助一些不清楚的同学一起学习,一起进步.

如果有不明白或者不清楚的,或者错误的地方,还希望大家能够在底下评论出来,好让我及时的去改正。

文章目录
  1. 1. 食用前须知
  2. 2. 创建步骤 (详细多图)
    1. 2.1. 1. 创建一个空项目
      1. 2.1.0.1. file - new - project 一个空的项目
      2. 2.1.0.2. 填写项目名称
      3. 2.1.0.3. 选择要打开项目的方式
  3. 2.2. 2.创建第一个模块a
    1. 2.2.0.1. 新建一个模块
    2. 2.2.0.2. 选择创建一个maven模块
    3. 2.2.0.3. 填写模块基本信息
    4. 2.2.0.4. finish完成模块创建
  • 2.3. 3.创建第二个模块
    1. 2.3.0.1. 选择继承的父工程
    2. 2.3.0.2. 填好路径finish完成b模块创建
    3. 2.3.0.3. 同 b 完成 c 模块创建
  • 2.3.1. 4.创建聚合工程 c
    1. 2.3.1.1. 在 c 模块下新建一个maven工程模块 c1
    2. 2.3.1.2. 继承 c 模块
    3. 2.3.1.3. 配置 c1 工程路径
    4. 2.3.1.4. 同 c1 完成 c2 工程模块创建
  • 3. 最后再说两句