• Maven详细笔记


    初识Maven

    翻译为“专家”,“内行”(在这指项目构建专家)

    Maven是Apache基金会下一个跨平台项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理

    跨平台:可以再Windows、Linux、Mac os等系统上运行

    Maven的最大作用就是构建项目。

    什么是构建

    Maven的作用

    1.创建项目——创建的项目具有统一的项目结构

    2.引入依赖的jar文件——jar包会存放在仓库中

    3.打包发布项目——可以将项目打包成开发人员指定的类型,用于部署到Web容器。还可以将项目打包到仓库中,方便项目的相互依赖。

    Maven模型

     

    1.项目对象模型(Project Object Model):通过 pom.xml 描述项目基本信息,并加载项目 

    2.依赖管理模型(Dependency):管理jar包以及jar包之间的依赖,需要什么jar包只要在pom.xml文件中配置就可以,Maven会自动下载到本地jar包仓库中(从central(中央仓库)、b2b(私服仓库)、local(本地仓库)仓库中下载)

    3.Build lifecycle  phases:Maven 构建项目的整个生命周期过程是由一个一个插件完成的。每个插件完成一个特殊的功能,并产出一些文件。

    Maven的运行依赖于生命周期中的每一个阶段,每一个阶段都对应一个或多个插件,每个插件执行一个功能。

    Maven的仓库

     

    本地仓库

    Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。

    运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

    默认情况下,不管Linux还是 Windows,每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。

    远程仓库——Nexus私服

    私服也属于远程仓库的一种,只是这个远程仓库的地址是本地服务器而已

    配置在局域网环境中,为局域网中所有开发人员提供jar包的统一管理

    本地仓库(本机)--->私服(局域网)--->中心仓库(外部网络)

    远程仓库——其他公共库

    一些知名公司将收集的依赖构建而成的仓库,并将仓库地址发布到网络中提供其他用户使用。比如阿里巴巴的公共库

    远程仓库——中央仓库

    由于最原始的本地仓库是空的,Maven必须知道至少一个可用的远程仓库,才能在执行Maven命令时下载到需要的构件。中央仓库就是一个默认的远程仓库。Maven的安装文件默认带了中央仓库的配置

    maven自己的中央库访问速度很慢

    公司开发的自己的jar包等其他代码源,不想公开分享,就只有放到私有服务器上存放

    有的jar包或者代码源中央库没有的,或者使用得老版本中央库没有的,我们需要私有服务器存放这些数据,用到的时候下载的速度也会很快

    在Maven项目中都包含一个pom.xml文件,在该文件中通过配置依赖的坐标,Maven项目就会去仓库中查找并引入所需要的依赖。

    库优先级:本地→私服→其他公共仓库→中央仓库

     

    Maven的安装(Windows) 

    1.确认jdk是否已安装?(maven3.3以上的版本要求JDK最低为1.7)

    echo %JAVA_HOME%

    java -version

    javac

    2.下载maven网址:Maven – Download Apache Maven    

    3.对下载的apache-maven-3.6.1-bin.zip进行解压,解压到硬盘目录(解压目录最好不要有中文字)即可完成maven的安装

    4.配置环境变量

    MAVEN_HOME------->其值为maven安装的路径

    path------->其值为maven安装的路径\bin

     

    5.在dos窗口中运行命令mvn -v或mvn -version,显示如图所示的内容证明安装成功了。 

     

    Maven安装目录分析 

    bin:含有mvn运行的脚本(二进制可运行指令)

    boot:含有plexus-classworlds类加载器框架(java语言在加载的时候有一个类加载器,Maven有自己的专用的类加载器,jdk类加载器将Maven类加载,Maven再启动自己的类加载器加载其它Maven类)

    conf:含有settings.xml配置文件

    lib:含有Maven运行时所需要的java类库(Maven本身是用Java写的,它的运行需要一些资源jar包)

    LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍

     Maven的配置

    Maven的主要功能之一是管理构建项目所需要的jar文件,那么从哪里下载,下载到哪里就成为必须要解决的问题,Maven使用settings.xml指定这些配置信息。

    默认仓库——当前用户路径C:\Users\[UserName]\.m2

    全局范围:Maven安装目录,如:D:\ruanjian\apache-maven-3.6.1\conf\settings.xml,对所有用户均有效。

    修改默认仓库的位置本地仓库的位置

    用户范围:当前用户目录,如D:\ruanjian\maven\settings.xml,仅对当前用户生效。

    两个目录都可以出现settings.xml,最后取合并后的结果,如果存在重复定义,那么当前用户目录的配置项优先生效。通常是把全局范围内的settings.xml作为模板复制到用户范围目录中。

    settings.xml使用仓库来管理jar文件的下载,分为本地仓库远程仓库,分别使用下面的两个节点配置:

    https://blog.csdn.net/qidasheng2012/article/details/78152581

    注意:用户级别的仓库在全局配置中一旦设置,全局配置将不再生效,转用用户所设置的仓库,否则使用默认路径仓库

     在IDEA中配置Maven

    在IDEA中构建Maven项目

    1.创建maven项目

     

    2.设置项目的maven坐标

     

    3.设置maven项目的属性

     

     

    Maven项目的标准目录结构

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

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

    src/main/webapp—— Web项目根目录

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

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

    target —— 项目编译构建的输出位置(可以自动生成)

    pom.xml——maven项目核心配置文件

    案例:

    详见第1个Maven项目.txt

    一个项目依赖另一个项目 

    详见第2个Maven项目.txt(依赖1)

    详见第3个Maven项目.txt(依赖1、2)

  • 相关阅读:
    练习敲代码速度/提高打字速度
    Ubuntu 22.10 UEFI 引导安装在第二块硬盘
    《Head First HTML5 javascript》第7章 表单
    数据库例题精选
    力扣SQL50 每台机器的进程平均运行时间 SUM AVG DISTINCT
    不同类型的软件测试
    代理IP和Socks5代理:跨界电商与全球爬虫的关键技术
    Java里面int、Integer、String相互转换
    RabbitMQ学习记录
    数仓埋点体系与归因实践
  • 原文地址:https://blog.csdn.net/weixin_47541976/article/details/126657226