Maven的基本概念/Maven安装和配置/Maven工程的创建

1. Maven的基本概念

1.1. Maven出现前项目开发存在的问题

  • 同样的代码,因为在不同的机器或者不同的环境下编译不成功
  • 开发人员已经经过测试的代码, 测试和配置人员下载下来有问题
  • 新加入的团队成员不知道系统开发所需要的具体环境
  • 每次checkout项目的时候,随便都是几百M(大部分是jar包),头疼
  • 切换新项目时,我们要重新加入所依赖的jar包,而且又要上传到代码服务器
  • A项目组封装了一个好的组件(jar),推荐给其他项目组使用,当出现了错误,修正以后,每个项目组要重新替换
  • 测试人员每次测试都需要手动checkout版本.

1.2. 什么是maven

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

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

开发人员主要掌握两个方面的知识:

  • 项目构建
  • 依赖管理

1.3. 什么是构建

在企业团队开发中 ,我们一般会将代码统一保存在代码服务器(VVS / CVS / SVN / GIT)中,每次我们都需要从代码服务器下载最新代码–>项目构建->应用。

如下图所示 : 项目构建包括如下几个过程:
这里写图片描述

1.4. 项目构建的其他方式

  • 开发人员 开发工具:eclipse / myeclipse / idea
    必须手工完成 清理/编译/测试/报告/打包/部署 等工作,每一步都是独立完成,这就造成由于每个人开发工具或者开发工具配置的不同,造成代码编译出错.

  • 配置管理:Ant
    Ant仅仅能完成项目构建工具,它没有集成依赖管理。
    Ant在进行项目构建时需要手动指定源文件、编译文件以及资源文件存放的地址,然后指定一系列的定时任务来完成清理/编译/测试/报告/打包/部署等工作。

  • 项目构建:Maven
    在进行项目构建时,它对项目目录结构拥有约定,知道你的源代码在哪里,资源文件在哪里,测试文件在哪里,编译文件文件应该放到哪里,。
    Maven拥有生命周期的概念,maven的生命周期是有顺序的,在执行后面的生命周期的任务时,不需要显示的配置前面任务的生命周期。例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

1.5. Maven依赖管理

依赖管理就是对项目中 jar 包的管理,可以在 pom 文件中定义jar包的 GAV 坐标,管理项目对 jar 包依赖。

作为开发人员需要详细了解 maven 对 jar 包的依赖管理,后续文章将会详细讲解 maven 是如何来管理 jar 包的。

2. Maven的安装/配置

2.1. Maven的安装

官方网站:http://maven.apache.org

建议使用 3.3.3 版本,尽量不要使用最新版本。

Maven本身是使用Java开发的工具,需要JDK的支持,建议1.7及以上。

  1. 将下载好的Maven压缩包,直接解压(目录最好不要有中文)。
    这里写图片描述

  2. 配置环境变量MAVEN_HOME
    这里写图片描述

  3. 将%MAVEN_HOME%\bin加入Path中
    这里写图片描述

  4. cmd窗口,输入mvn –version 查看maven版本并验证maven环境变量的配置
    这里写图片描述

2.2. Maven的目录结构

  • bin:Maven运行的命令和脚本

  • boot:简单来说就是类似于JAVA的类加载器,不需要关心.

  • conf:此文件加包含maven全局的一个配置文件 settings.xml,用来指定Maven全局的一些配置,比如:用于存放项目所需要的jar包的仓库地址/插件/代理的设置等信息,一般会有两个settings.xml,一个代表全局的配置,一个代表使用用户的个性配置, 代表用户特性的setttings.xml配置优先级大于全局配置文件.

  • lib:Maven运行时所需要的java类库

2.3. Maven的setting.xml配置

2.3.1. 全局的setting.xml配置

打开%MAVEN_HOME%/conf/settings.xml 是maven全局的配置文件。
如下图所示:默认配置的仓库地址为:${user.home}/.m2/repository

这里写图片描述

其中${user.home}表示当前用户路径C:\用户[系统用户]。

这里写图片描述

仓库地址:存放项目中所需要的jar包的地址.

2.3.2. 用户个性配置setting.xml

在实际的应用中,我们的本地仓库的地址一般不使用默认配置,通常情况下我们需要配置一个代表用户特性的setting.xml文件来配置新的仓库地址。

  1. 新建一个本地仓库目录
    这里写图片描述

  2. 复制maven的全局配置文件到${user.home}/.m2目录下,这个配置文件就代表用户个性的配置文件
    这里写图片描述

  3. 修改用户个性的仓库的地址
    这里写图片描述

注意:

代表用户特性的setttings.xml配置优先级大于全局配置文件.

如果我们要在开发工具中使用maven开发工具比如eclipse中集成maven以后,我们要将的maven的User setting设置成对应的用户个性配置文件.

这里写图片描述

3. Maven工程创建

3.1. Maven工程的目录结构

Maven工程标准的目录结构如下:

ProjectName
|-src
| |-main
| | |-java –>>存放项目的.java文件
| | |-resources –>>存放项目资源配置文件(spring/mybatis/springmvc/log4j/jdbc/)
| |-test
| |-java –>>存放所有测试.java测试文件 JUnit测试类
| |-resources –>>测试所需要的资源文件
|-target –>>目标文件输出位置例如.class、.jar、.war文件
|-pom.xml –>>maven项目核心配置文件

3.2. Maven的工程创建

下面,我们来进行maven工程各种不同的创建方式

3.2.1. 根据maven的目录结构手动创建Maven工程

  1. 如下图所示,我们根据maven的标准来构建我们项目的目录
    这里写图片描述

  2. 创建一个简单的java类HelloMaven.java
    这里写图片描述

  3. 在对应的test目录下面,创建测试文件TestHelloMaven.java
    这里写图片描述

  4. 配置pom.xml文件
    注意pom.xml的位置,与src目录平级。
    这里写图片描述

    这里写图片描述

  5. 在dos窗口执行相关的maven命令来管理项目的生命周期

    • mvn compile

      执行 mvn compile命令,完成编译操作。
      如果编译通过,项目根目录下会生成target目录,该目录中存放了编译后的字节码文件(.class文件)。
      这里写图片描述

    • mvn clean

      执行 mvn clean命令,此命令会将target目录删除。

    • mvn test

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

      这里写图片描述

    • mvn package

      执行 mvn package命令 如果执行通过,会在target目录中生成一个jar或者war的文件。

    • mvn install

      执行 mvn install命令,如果执行通过,会讲我们上次过程打好的jar包安装到本地仓库,可以供其他项目或者工程引用。

3.2.2. 在开发工具(eclipse)中创建maven工程

3.2.2.1. Eclipse配置
  1. 查看eclipse中是否有maven插件,如果系统选项出现maven,则表示工具已经集成了maven。

    这里写图片描述

  2. 设置maven安装目录

    这里写图片描述

  3. 设置用户配置

    这里写图片描述

3.2.2.2. Ecplise引入已有的Maven工程

以我们上面手动创建的maven工程为例:

  1. 选择FIle-import->Existing Maven project

    这里写图片描述

  2. 选择maven工程路径:

    这里写图片描述

通过以上步骤,我们可以将maven工程引入eclipse工具进行进一步的开发。

3.2.2.3. Eclipse创建新的Maven工程

我们可以通过选择maven骨架来创建java工程

  1. 选择new→maven→Maven Project

    这里写图片描述

  2. next

    这里写图片描述

  3. next 选择maven工程骨架类型

    这里写图片描述

  4. next 输入Group Id、Artifact Id、Version 等关键信息点击finish

    这里写图片描述

3.2.2.4. Eclipse中执行Maven相关命令

右键Maven工程或者pom.xml文件,选择Run as→maven …

可以在菜单中看到常用的Maven命令.

注意:其中Maven build 并不是maven的命令,它只是提供了一个命令输入功能,可以在此功能中输入自定义的maven命令。

这里写图片描述

初步了解pom文件的依赖管理:

  • 按照上面步骤新建项目maven02
  • 新建一个JAVA类HelloMaven2,调用maven01项目中的HelloMaven对象

    这里写图片描述

  • 在pom.xml文件中依赖maven01项目

    这里写图片描述

  • 新建测试文件,测试是否依赖成功

    这里写图片描述

猜你喜欢

转载自blog.csdn.net/a909301740/article/details/80953979
今日推荐