Maven:Maven的学习与总结
Maven
1. 什么是 Maven
Maven 是一个项目管理工具,可以通过一小段描述信息来管理项目的构建、报告和文档的项目管理工具软件,换句话说,Maven 主要服务于 Java 平台的项目构建、依赖管理以及项目信息管理等。
Maven 主要包含一下几部分内容:
- 一个项目对象模型(Project Object Model)
 - 一组标准集合
 - 一个项目生命周期(Project Lifecycle)
 - 一个依赖管理系统(Dependency Management System)
 - 用来运行定义在生命周期阶段(phase)中插件(plugin)目标的逻辑
 
2. 什么是项目构建?
在项目开发中,我们除了编写代码,还需要编译(将源代码转化成宿主浏览器可以执行的代码)、单元测试(对项目中的每一小块的功能检查和验证)、生成文档、打包以及部署等工作,这些操作就属于构建。我们希望可以提供一个全自动化的实现这些功能的工具,能让我们花较少的时间去完成这些工作,减轻负担,提高开发效率。
3. 项目构建工具
Apache Ant
Apache Ant 是一个将软件编译、测试、部署、等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,由 Apache 软件基金会所提供
Maven
Maven 项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档软件。Maven 专注于依赖管理,支持从网络上下载 Jar 包的功能。
Gradle
Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建开源工具,它继承了 Ant 的灵活和 Maven 的生命周期管理,抛弃了基于 XML 的各种繁琐配置,采用了 DSL 格式,使得构建过程变得十分灵活。
4. Maven 的四大特征
4.1 核心特征:依赖管理
Maven 引入了一个依赖管理系统,需要哪些 Jar 包,只要从 Maven 仓库中拷贝下来粘贴到配置文件中,保存即可自动下载对应的 Jar 包。任何基于 Maven 构建的项目,必须要定义以下三个属性,组成一个唯一标识的依赖,且每一个依赖必须放入<dependencies></dependcies>中。
<dependencies>
    <dependency>
        <groupId>xxx</groupId>
        <artifactId>xxx</artifactId>
        <version>xxx</version>
    </dependency>
</dependencies>
其中
groupId:定义当前 Maven 项目隶属的实际项目的公司名称(一般为公司域名的反写)
artifactId:定义实际项目中的一个 Maven 模块的项目名
version:定义当前 Maven 项目所处的版本
Maven 坐标为各种组件引入了秩序,任何一个组件都必须明确定义自己的坐标。
Maven 仓库地址:Maven Repository: Search/Browse/Explore (mvnrepository.com)
4.2 多模块构建
在实际开发中,一个项目会包含很多模块,将整个项目拆分为若干个模块,成为一种通用的开发方式。
在 Maven 项目中,可以定义一个父模块作为作为项目的聚合模块,使用<modules></modules>标签可以定义一组子模块,这些子模块可以直接继承父模块的相关配置以及所有的依赖。
4.3 一致的项目结构
创建一个普通的项目,在 IDEA、MyEclipse 等编译器里生成的目录是不同的,同一个项目在更换编译器的时候由于生成目录不同,很难运行。但是创建 Maven 项目,可以很好的解决生成目录的问题,因为它在任何一个 idea 中创建项目的目录结构是一样的。
4.4 一致的构建模型和插件机制
通过统一的 pom.xml 配置文件来配置 Tomcat、Jetty 等插件,无需之前繁琐的服务器配置、Servlet 配置,使用起来十分方便。
5. Maven 的安装配置
- 
检查 JDK 的版本
按 win+R 快捷键打开运行弹框
输入 cmd,鼠标单击“确定”按钮,或者按回车键,打开命令提示符
输入 java -version,查看 JDK 版本号,基本使用 JDK 1.8 以上
 - 
下载 Maven
Maven 的下载地址为:Maven – Download Apache Maven,Maven 下载下来解压后存放的目录不要有中文和空格。
 - 
配置 Maven 的环境变量
右击电脑属性,找到高级系统设置
在系统变量里面新建一个变量,指向 Maven 目录
在系统变量里找到 Path,双击打开,添加两行配置信息。(JDK 环境变量的配置类似)
 


- 
检查 Maven 是否安装成功
按 win+R 快捷键打开运行弹框
输入 cmd,鼠标单击“确定”按钮,或者按回车键,打开命令提示符
输入 mvn -version,按回车键执行
 

6. Maven 项目的目录结构
- 
首先是根目录下
src :主要用来存放项目的源代码文件
target:项目在编译后会生成的一个目录,存放项目编译后生成的 .class 文件
pom.xml:Maven 项目的核心配置文件,主要用于配置依赖坐标等相关信息
 - 
src 目录下
main:该目录下有两个子文件夹
Java:用来存放 Java 源代码文件
resources:用来存放该项目的一些配置文件
test:该目录下也有两个子文件夹
Java:用来存放 Java 测试类的源代码文件
resources:用来存放测试时使用到的一些配置文件
 
7. Maven 的常用命令
mvn archetype:generate 创建 Maven 项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的 jar
mvn install 在本地 Repository 中安装 jar
mvn eclipse:eclipse 生成 eclipse 项目文件
mvnjetty:run 启动 jetty 服务
mvntomcat:run 启动 tomcat 服务
mvn clean package -Dmaven.test.skip=true 清除以前的包后重新打包,跳过测试类

                
            
        
浙公网安备 33010602011771号