• 第六节:Maven简介、安装配置、仓库分类与配置、工程介绍


    一. Maven简介

    1. 什么是Maven

     Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词语,代表专家、内行的意思。

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

    2. Maven的作用

    (1). 依赖管理

     maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar包的坐标,这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml 文件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到这些 jar 包,再把这些 jar 包拿去运行。  (类似于.Net中的Nuget)

    (2). 项目的一键构建

     项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个过程称为构建。maven一键构建指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作。

    二. 安装配置

    1. 下载安装

     下载地址:https://maven.apache.org/download.cgi,这里我们下载windows版本,如下图:

     直接解压到某个目录下,注意不要有中文路径,如下图: 

     bin:存放了 maven 的命令,比如我们前面用到的mvn tomcat:run

     boot:存放了一些 maven 本身的引导程序,如类加载器等

     conf:存放了 maven 的一些配置文件,如 setting.xml 文件

     lib:存放了 maven 本身运行所需的一些 jar 包

    2. 配置

    (1). 首先要安装配置jdk. (详见:https://www.cnblogs.com/yaopengfei/p/14866922.html)

    (2). 配置Maven环境变量 (MAVEN_HOME → Path中添加  %MAVEN_HOME%in)

    (3). 在命令行中输入 【mvn -v】,如下图,说明配置成功。 

    三. 仓库分类与配置

    1. 仓库的分类

     maven 的工作需要从仓库下载一些 jar 包,本地的项目 A、项目 B 等都会通过 maven软件从远程仓库(可以理解为互联网上的仓库)下载 jar 包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此 jar 包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。

    (1). 本地仓库

     用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,优先从本地仓库查找。默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示windows 用户目录。

    (2). 远程仓库(私服)

     如果本地需要插件或者 jar 包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。【通常公司在局域网内搭建自己的远程仓库】

    (3). 中央仓库

     在 maven 软件中内置一个远程仓库,它是中央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包含了世界上大部分流行的开源项目构件。

    (默认远程仓库:http://repo1.maven.org/maven2,默认配置如下:)

        <mirror>
          <id>maven-default-http-blocker</id>
          <mirrorOf>external:http:*</mirrorOf>
          <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
          <url>http://0.0.0.0/</url>
          <blocked>true</blocked>
        </mirror>

    推荐阿里云:https://maven.aliyun.com/mvn/search,上这个地址去找各种仓库和jar包

    修改为阿里云仓库: 

    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

    2. 本地仓库配置

        在conf/settings.xml 文件中配置本地仓库位置    <localRepository>D:/JavaDevelop/maven_repository</localRepository>

    3. 全局配置和用户配置

     maven 仓库地址、私服等配置信息需要在 setting.xml 文件中配置,分为全局配置和用户配置。

     在 maven 安装目录下的有 conf/setting.xml 文件,此 setting.xml 文件用于 maven 的所有 project项目,它作为 maven 的全局配置。如需要个性配置则需要在用户配置中设置,用户配置的 setting.xml 文件默认的位置在:${user.dir}/.m2/settings.xml 目录中,${user.dir} 指windows 中的用户目录。

     maven会先找用户配置,如果找到则以用户配置文件为准,否则使用全局配置文件

    四. Maven工程介绍

    1. 标准Maven工程结构

    (1). 作为一个 maven 工程,它的 src目录和 pom.xml 是必备的

    (2). 进入 src目录后,我们发现它里面的目录结构如下 

      src/main/java —— 存放项目的.java 文件

      src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件

      src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类

      src/test/resources —— 测试资源文件

    注意:如果是普通的 java 项目,那么就没有webapp 目录。

    2. Maven工程运行

     在根目录下运行【mvn tomcat:run】,自动下载相应jar包,进行启动,如下图:

     

     

    !

    • 作       者 : Yaopengfei(姚鹏飞)
    • 博客地址 : http://www.cnblogs.com/yaopengfei/
    • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
    • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
     
  • 相关阅读:
    [leedcode 46] Permutations
    [leedcode 45] Jump Game II
    [leedcode 43] Multiply Strings
    [leedcode 42] Trapping Rain Water
    [leedcode 41] First Missing Positive
    [leedcode 40] Combination Sum II
    全排列
    [leedcode 39] Combination Sum
    [leedcode 38] Count and Say
    调和级数求和(分块)
  • 原文地址:https://www.cnblogs.com/yaopengfei/p/14975935.html
Copyright © 2020-2023  润新知