Maven

1、Maven模型及其原理

1、Maven介绍

Maven(麦文)项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

2、Maven功能

  • 1、依赖管理——jar包管理
  • 2、项目管理——代码编译

3、Maven模型介绍

4、Maven依赖管理原理

5、Maven核心文件Pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <!-- 版本:4.0.0 -->
    <modelVersion>4.0.0</modelVersion>
    <!-- 组织名称:暂时使用 组织名称+项目名称 作为组织名称 -->
    <!-- 组织名称:实际名称 按照访问路径规范设置,通常以功能作为名称:
    eg: junit spring -->
    <groupId>com.kkb.maven</groupId>
    <!-- 项目名称 -->
    <artifactId>HelloWorld</artifactId>
    <!-- 当前项目版本号:同一个项目开发过程中可以发布多个版本,此处标示0.0.1版 -->
    <!-- 当前项目版本号:每个工程发布后可以发布多个版本,依赖时调取不同的版本,使用不同的版本号 -->
    <version>0.0.1</version>
    <!-- 名称:可省略 -->
    <name>Hello</name>
    <!-- 依赖关系 -->
     <dependencies>
        <!-- 依赖设置 -->
        <dependency>
            <!-- 依赖组织名称 -->
            <groupId>junit</groupId>
            <!-- 依赖项目名称 -->
            <artifactId>junit</artifactId>
            <!-- 依赖版本名称 -->
            <version>4.12</version>
            <!-- 依赖范围:test包下依赖该设置 -->
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

6、搭建原生的Maven项目

1、通过文件夹的方式创建java项目

在某个磁盘的根目录按照下面结构创建文件夹

projectName(项目名称)

  • src
    • main
      • java【存放项目的.java文件】
      • resources【存放项目资源文件】
    • test
      • java【存放所有测试.java文件,如JUnit测试类】
  • target【目标文件输出位置例如.class、.jar、.war文件(不需要创建,会自动生成)】
  • pom.xml【maven项目核心配置文件】

7、Maven常用指令

  • mvn compile:完成编译操作,执行完毕后,会生成target目录,该目录中存放了编译后的字节码文件。

  • mvn clean:执行完毕后,会将target目录删除。

  • mvn test:执行 mvn test命令,完成单元测试操作。执行完毕后,会在target目录中生成三个文件夹:surefire、 surefire-reports(测试报告)、test-classes(测试的字节码文件)

  • maven package:完成打包操作,执行完毕后,会在target目录中生成一个文件,该文件可能是jar、war。

  • mvn install:完成将打好的jar包安装到本地仓库的操作, 执行完毕后,会在本地仓库中出现安装后的jar包,方便其他工程引用。

  • mvn clean compile:组合指令,先执行clean,再执行compile,通常应用于上线前执行,清除测试类。

  • mvn clean test:组合指令,先执行clean,再执行test,通常应用于测试环节。

  • mvn clean package:组合指令,先执行clean,再执行package,将项目打包,通常应用于发布前。

    执行过程:
    清理————清空环境
    编译————编译源码
    测试————测试源码
    打包————将编译的非测试类打包

  • mvn clean install :组合指令,先执行clean,再执行install,将项目打包,通常应用于发布前。
    执行过程:
    清理————清空环境
    编译————编译源码
    测试————测试源码
    打包————将编译的非测试类打包
    部署————将打好的包发布到资源仓库中