当前位置: 首页 > news >正文

Maven进阶实战

视频链接:https://www.bilibili.com/video/BV1kg4y187td?vd_source=9545770e4a2968c05878ffac8589ec6c
视频选集:P1 — P20

文章目录

  • 1.Maven管理多模块应用
    • 1.1 场景介绍
  • 2. 如何使用Maven管理以上的结构
  • 第一种方式
    • 2.1 创建父工程
    • 2.2 创建java子工程
    • 2.3 创建web子工程
    • 2.4 修改子工程为父工程
    • 2.5 手动修改Maven工程为子工程
    • 2.6 子模块继承父工程所有依赖
    • 2.7 父工程管理依赖
    • 2.8 子工程声明式继承父工程依赖
    • 2.9 父工程管理依赖版本号
  • 第二种方式
    • 3.1 创建父工程
    • 3.2 创建子工程
    • 3.3 创建子工程的子工程
    • 3.4 父工程管理依赖
    • 3.5 父工程管理依赖的版本号
    • 3.6 子工程继承父工程编译插件
  • 第三种方式

1.Maven管理多模块应用

1.1 场景介绍

commonModel:提供公共的基础服务,比如工具类、常量类等等;
bussinessModel:业务模块,是系统真正要实现的业务,依赖于common模块,比如订单管理、财务统计、会员管理等;
application:可发布的web应用,由各个bussinessModel组成,最终满足项自整体需求;
第三方模块:包括各类框架,Spring、MyBatis、日志等。整个应用都是依赖它们完成开发的;

在这里插入图片描述

2. 如何使用Maven管理以上的结构

Maven管理多模块应用的实现是互联网项目中多使用分布式开发,那么每个独立的服务都会使用独立的项目进行维护,那么这样就需要使用多模块应用管理,来实现项目的高度统一。

第一种方式

2.1 创建父工程

maven父工程必须遵循以下两点要求:

  1. packaging标签的文本内容必须设置为pom
  2. 把src删除掉

pom是项目对象模型(Project object Module),该文件是可以被子工程继承。maven多模块管理其实就是让它的子模块的pom文件来继承父工程的pom文件

2.2 创建java子工程

New —>New Module—>Maven
在这里插入图片描述

在这里插入图片描述

2.3 创建web子工程

在这里插入图片描述

在这里插入图片描述

2.4 修改子工程为父工程

在这里插入图片描述

2.5 手动修改Maven工程为子工程

在这里插入图片描述

2.6 子模块继承父工程所有依赖

父工程添加的依赖,所有子模块会无条件的去继承
在这里插入图片描述

2.7 父工程管理依赖

使用dependencyManagement对dependencies
在这里插入图片描述

2.8 子工程声明式继承父工程依赖

子模块依赖的版本号继承父工程依赖的版本号,因此在子工程中不需要写
如果子模块指定依赖的版本号那就不会继承父工程依赖的版本号
在这里插入图片描述

2.9 父工程管理依赖版本号

在这里插入图片描述
在这里插入图片描述

第二种方式

3.1 创建父工程

在这里插入图片描述
在这里插入图片描述

3.2 创建子工程

add as module to 和第一种方法是不一样的
在这里插入图片描述
在这里插入图片描述
在子工程中:【因为在同一个目录下】
在这里插入图片描述
在父工程中:
在这里插入图片描述

3.3 创建子工程的子工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 父工程管理依赖

同第一种方法

3.5 父工程管理依赖的版本号

同第一种方法

3.6 子工程继承父工程编译插件

父工程中添加了插件,就不需要在子工程中添加插件
在这里插入图片描述

第三种方式

工作中第一种用的比第二种多
第三种是第一种和第二种的混合使用情况
在这里插入图片描述

相关文章:

  • C++引用用法学习笔记
  • linux下的动态静态库
  • [GXYCTF2019]禁止套娃
  • STM32CubeIDE实现基于STM32的LoRa通信程序移植(SPI接口)
  • JQuery系列之元素操作
  • BLEMotion-Kit 支蓝牙运动传感评估套件
  • 网课查题公众号平台及平台系统如何使用
  • 标准中文电码查询易语言代码
  • 影视新闻查询易语言代码
  • 开发环境搭建-windows系统使用nvm安装配置node本地环境
  • nacos配置中心的使用规则
  • 计算机毕业设计springboot+vue基本微信小程序的学生健康管理小程序
  • 董宇辉:读书让你更加深刻|程序员必读的一本书
  • Spring注解驱动之InitializingBean和DisposableBean
  • 微信输入法来了,如何下载?
  • Akka系列(七):Actor持久化之Akka persistence
  • C++类中的特殊成员函数
  • java 多线程基础, 我觉得还是有必要看看的
  • java8-模拟hadoop
  • js学习笔记
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • ViewService——一种保证客户端与服务端同步的方法
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 前端技术周刊 2019-01-14:客户端存储
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 微信小程序填坑清单
  • 微信小程序--------语音识别(前端自己也能玩)
  • 原生JS动态加载JS、CSS文件及代码脚本
  • ​渐进式Web应用PWA的未来
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #if #elif #endif
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (笔试题)合法字符串
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十一)手动添加用户和文件的特殊权限
  • (转)c++ std::pair 与 std::make
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .Net 4.0并行库实用性演练
  • .net 4.0发布后不能正常显示图片问题
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET Remoting学习笔记(三)信道
  • .net 后台导出excel ,word
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET开发人员必知的八个网站
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET微信公众号开发-2.0创建自定义菜单
  • .net中生成excel后调整宽度
  • ?.的用法