先上学习图谱!
Maven概览
- 为什么使用Maven?
目前问题:
1. jar包混乱:工程中存在jar包重复,版本不一致的情况.
2. 添加jar包随意:需要用到第三方jar时,随便下载就添加到项目中了,没有记录
3. 重复构建:每个开发人员从svn下载完代码后,都要对项目进行配置,构建.
4. 不同环境的构建差异:总是存在在开发环境运行良好的程序,到了测试环境编译不通过,或者不同环境的配置文件不一致,需要手动的去修改
5. 模块间的开发依赖纯手动处理:提倡模块化的开发,可是怎么做好模块化开发之间的依赖处理,没有解决方案。
- Maven介绍
maven是什么?
Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。
Maven能干什么?
- 项目构建
- 依赖管理
- 仓库管理
- web项目与自动化部署
- 聚合和继承。。等
maven的优点:
- 对第三方依赖库进行统一的版本管理。
- 统一项目的目录结构。
- 统一软件构建阶段
- 支持多种插件
- 自动生成项目网站和报表
- Maven下载
官网地址:http://maven.apache.org/
目录结构:
-
bin:maven的运行脚本,mvn.cmd是基于Windows的脚本。在CMD中每次输入一条MVN的命令都是在调用并执行这些脚本。
-
boot:该目录只有一个文件plexus-classworlds-2.5.2.jar。它是一个类加载器的框架,相对于JDK中的类加载器,它提供了更丰富的语法以方便配置,maven使用该框架加载自己的类库。
-
conf:该目录包含了一个非常重要的文件settings.xml。配置该文件就能在Project中定制maven的行为。
-
lib:包含了所有的maven运行需要的java类库以及用到的第三方类库。
- Maven环境变量配置
1. 下载apache-maven-3.5.0-bin.zip
2. 配置maven的环境变量
3. 执行mvn命令验证:mvn -v
注:Maven 3.3+ require JDK 1.7 or above to execute
Maven常用命令
创建java工程
mvn archetype:generate
-DgroupId 公司名
-DartifactId 项目名称
-DgroupId 公司名
-DarchetypeArtifactId 骨架
(指定ArchetypeId,maven-archetype-quickstart是java工程,maven-archetype-webapp是web工程)
-DinteractiveMode 是否使用交互模式
关于pom.xml
maven工程结构和内容定义在pom.xml中,全称即为project object moduel
约定优于配置
maven使用约定而不是配置,意味着开发者不需要再自己创建构建过程。