• Maven依赖管理项目构建工具(保姆级教学)


    一、Maven介绍

    官网地址:Maven – Introduction

    Maven 是一款为 Java 项目管理构建、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。

    Maven就是一个软件,掌握安装、配置、以及基本功能 (项目构建、依赖管理) 的理解和使用即可!

    1. 依赖管理:

      Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。通过 Maven,我们可以方便地维护项目所依赖的外部库,避免版本冲突和转换错误等,而我们仅仅需要编写配置即可。

    2. 构建管理:

      项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程

      Maven 可以管理项目的编译、测试、打包、部署等构建过程。通过实现标准的构建生命周期,Maven 可以确保每一个构建过程都遵循同样的规则和最佳实践。同时,Maven 的插件机制也使得开发者可以对构建过程进行扩展和定制。主动触发构建,只需要简单的命令操作即可。

    二、Maven安装和配置

    1. Maven安装

    Maven – Maven Releases History

    安装条件: maven需要本机安装java环境、必需包含java_home环境变量!

    软件安装: 右键解压即可(绿色免安装)

    软件结构:

    bin:含有Maven的运行脚本

    boot:含有plexus-classworlds类加载器框架

    conf:含有Maven的核心配置文件

    lib:含有Maven运行时所需要的Java类库

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

    2. Maven环境配置

    1.配置MAVEN_HOME

    2.配置Path

    3.命令测试(cmd窗口)

    mvn -v 
    # 输出版本信息即可,如果错误,请仔细检查环境变量即可!

    3.Maven功能配置

    我们需要需改maven/conf/settings.xml配置文件,来修改maven的一些默认配置。我们主要休要修改的有三个配置:

    1.依赖本地缓存位置(本地仓库位置)

    2.maven下载镜像

    1.配置本地仓库地址

    1. <localRepository>D:\maven-repositorylocalRepository>

    2.配置国内阿里镜像

    1. <mirror>
    2. <id>alimavenid>
    3. <name>aliyun mavenname>
    4. <url>http://maven.aliyun.com/nexus/content/groups/public/url>
    5. <mirrorOf>centralmirrorOf>
    6. mirror>

      4.IDEA配置本地Maven软件

    我们需要将配置好的maven软件,配置到idea开发工具中即可! 注意:idea工具默认自带maven配置软件,但是因为没有修改配置,建议替换成本地配置好的maven!

    选择本地maven软件

    注意

    1、如果本地仓库地址不变化,只有一个原因,就是maven/conf/settings.xml配置文件编写错误!仔细检查即可!

    2、一定保证User settings file对应之前修改的settings.xml的路径,若不一致,选中Override复选框,手动选择配置文件

    三、概念梳理Maven工程的GAVP

    Maven工程相对之前的项目,多出一组gavp属性,gav需要我们在创建项目的时候指定,p有默认值,我们先行了解下这组属性的含义:

    Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,其中前三个是必要的,而 Packaging 属性为可选项。这四个属性主要为每个项目在maven仓库中做一个标识,类似人的姓-名!有了具体标识,方便后期项目之间相互引用依赖等!

    GAV遵循一下规则:

    1) GroupID 格式(组织ID):com.{公司/BU }.业务线.[子业务线],最多 4 级。

            说明:{公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。

            正例:com.taobao.tddl 或 com.alibaba.sourcing.multilang

    2) ArtifactID 格式(模块ID):产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下。

            正例:tc-client / uic-api / tair-tool / bookstore

    3) Version版本号格式推荐:主版本号.次版本号.修订号

            1) 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。

            2) 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。

            3) 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。

    例如: 初始→1.0.0 修改bug → 1.0.1 功能调整 → 1.1.1等

    Packaging定义规则(打包方式)

            指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!

            packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。

            packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。

            packaging 属性为 pom,代表不会打包,用来做继承的父工程。

    四、Maven工程项目结构说明

    Maven 是一个强大的构建工具,它提供一种标准化的项目结构,可以帮助开发者更容易地管理项目的依赖、构建、测试和发布等任务。以下是 Maven Web 程序的文件结构及每个文件的作用:

    1. |-- pom.xml # Maven 项目管理文件
    2. |-- src
    3. |-- main # 项目主要代码
    4. | |-- java # Java 源代码目录
    5. | | `-- com/example/myapp # 开发者代码主目录
    6. | | |-- controller # 存放 Controller 层代码的目录
    7. | | |-- service # 存放 Service 层代码的目录
    8. | | |-- dao # 存放 DAO 层代码的目录
    9. | | `-- model # 存放数据模型的目录
    10. | |-- resources # 资源目录,存放配置文件、静态资源等
    11. | | |-- log4j.properties # 日志配置文件
    12. | | |-- spring-mybatis.xml # Spring Mybatis 配置文件
    13. | | `-- static # 存放静态资源的目录
    14. | | |-- css # 存放 CSS 文件的目录
    15. | | |-- js # 存放 JavaScript 文件的目录
    16. | | `-- images # 存放图片资源的目录
    17. | `-- webapp # 存放 WEB 相关配置和资源
    18. | |-- WEB-INF # 存放 WEB 应用配置文件
    19. | | |-- web.xml # Web 应用的部署描述文件
    20. | | `-- classes # 存放编译后的 class 文件
    21. | `-- index.html # Web 应用入口页面
    22. `-- test # 项目测试代码
    23. |-- java # 单元测试目录
    24. `-- resources # 测试资源目录
    • pom.xml:Maven 项目管理文件,用于描述项目的依赖和构建配置等信息。

    • src/main/java:存放项目的 Java 源代码。

    • src/main/resources:存放项目的资源文件,如配置文件、静态资源等。

    • src/main/webapp/WEB-INF:存放 Web 应用的配置文件。

    • src/main/webapp/index.jsp:Web 应用的入口页面。

    • src/test/java:存放项目的测试代码。

    • src/test/resources:存放测试相关的资源文件,如测试配置文件等。



    Maven视图功能如下: 

     

    五、Maven的命令&Maven可视化方式项目构建

    1.Maven的命令

    命令描述
    mvn compile编译项目,生成target文件
    mvn package打包项目,生成jar或war文件
    mvn clean清理编译或打包后的项目结构
    mvn install打包后上传到maven本地仓库
    mvn deploy只打包,上传到maven私服仓库
    mvn site生成站点
    mvn test执行测试源码

    命令触发练习: 

    1. mvn 命令 命令
    2. #清理
    3. mvn clean
    4. #清理,并重新打包
    5. mvn clean package
    6. #执行测试代码
    7. mvn test

    2.可视化方式项目构建

    注意:打包(package)和安装(install)的区别是什么

    打包是将工程打成jar或war文件,保存在target目录下

    安装是将当前工程所生成的jar或war文件,安装到本地仓库,会按照坐标保存到指定位置

     

     

  • 相关阅读:
    数据分析总结
    零基础入门JavaWeb——CSS相关知识
    vue:基础:vuex
    node实现本地接口,地址可以访问
    安卓逆向案例——XX电影网
    打印lua输出日志
    springSecurity登录的全过程
    【电子通识】USB TYPE-A 2.0/3.0连接器接口
    EasyExcel的写入和读取操作
    缓存中间件Redis常考知识点
  • 原文地址:https://blog.csdn.net/weixin_55772633/article/details/134462809