在学习Java技术中,maven也是需要大家掌握的,今天来给大家简单介绍一下Maven多模块管理,当然,Maven视频教程中会为大家进行详细的介绍。
Maven是什么?
有很多朋友一直都在项目中用Maven,但是对它并不是很了解。 Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。
Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态。为了达到这个目标,Maven在下面几个方面做出了努力:简化构建过程、统一构建体系、提供高质量的项目信息、提供开发的最佳实践指南、实现透明的向新特性的迁移、简化构建过程。使用Maven不须要知道一些潜在的或底层的机制,Maven屏蔽了非常多细节。
Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。
Maven能够帮助开发者完成以下工作
- 构建
- 文档生成
- 报告
- Maven依赖管理
- SCMs
- 发布
- 分发
- 邮件列表
为什么需要使用Maven的多模块管理模式?
随着项目的不断发展,需求的不断细化与添加,代码越来越多,结构也越来越复杂,这时候就会遇到各种问题
不同方面的代码之间相互耦合,这时候一系统出现问题很难定位到问题的出现原因,即
使定位到问题也很难修正问题,可能在修正问题的时候引入更多的问题。
多方面的代码集中在一个整体结构中,新入的开发者很难对整体项目有直观的感受,增加了新手介入开发的成本,需要有一个熟悉整个项目的开发者维护整个项目的结构(通常在项目较大且开发时间较长时这是很难做到的)。
开发者对自己或者他人负责的代码边界很模糊,这是复杂项目中最容易遇到的,导致的结果就是开发者很容易修改了他人负责的代码且代码负责人还不知道,责任追踪很麻烦。
版本兼容问题等
…
将一个复杂项目拆分成多个模块是解决上述问题的一个重要方法。 拆分的好处
多模块的划分可以降低代码之间的耦合性(从类级别的耦合提升到jar包级别的耦合)
每个模块都可以是自解释的(通过模块名或者模块文档)
模块还规范了代码边界的划分,开发者很容易通过模块确定自己所负责的内容
…
大家学习Maven之前,要对Maven的知识点有一些了解,这样才好知道哪些是重点,学习Maven需要掌握以下几点:
1. 掌握Maven的体系结构
2. Maven的整体架构
3. Maven的插件体系
4. Maven的内部运作原理
5. Maven的生命周期
6. 掌握Maven的核心命令
7. clean compile package
8. test install deploy
9. 掌握Maven的POM体系
10. 模块配置 继承配置
11. 属性配置 依赖配置
12. 插件配置 构建配置
13. 仓库配置
动力节点的maven进阶教程,讲解全面,通过maven视频教程的学习,可以让大家快速掌握Java项目构建利器Maven
- Maven进阶篇视频教程
https://www.bilibili.com/video/BV1kg4y187td
- Maven进阶资料下载
http://www.bjpowernode.com/?toutiao
课程目录
•001.Maven多模块管理-场景介绍
•002.Maven多模块管理-场景介绍
•003.Maven多模块管理-第1种方式-创建父工程
•004.Maven多模块管理-第1种方式-介绍pom文件
•005.Maven多模块管理-第1种方式-创建maven java子工程
•006.Maven多模块管理-第1种方式-创建maven web子工程
•007.Maven多模块管理-第1种方式-修改子工程为父工程
•008.Maven多模块管理-第1种方式-手动修改Maven工程为子工程
•009.Maven多模块管理-第1种方式-子模块继承父工程所有依赖
•010.Maven多模块管理-第1种方式-父工程管理依赖
•011.Maven多模块管理-第1种方式-子工程声明式继承父工程依赖
•012.Maven多模块管理-第1种方式-父工程管理依赖版本号
•013.Maven多模块管理-回顾第1种实现方式
•014.Maven多模块管理-第2种方式-创建父工程
•015.Maven多模块管理-第2种方式-创建子工程
•016.Maven多模块管理-第2种方式-创建子工程的子工程
•017.Maven多模块管理-第2种方式-父工程管理依赖
•018.Maven多模块管理-第2种方式-父工程管理依赖的版本号
•019.Maven多模块管理-第2种方式-子工程继承父工程编译插件
•020.Maven多模块管理-第3种方式
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。