• Maven的介绍和使用


    Maven的作用

    项目构建

    依赖管理:避免资源间版本冲突问题

    统一开发结构:提供统一的项目结构

    Maven的使用

    下载完压缩包之后放在合适的目录下,其中apache-maven-3.8.8文件夹是安装的maven,下面的repository是本地仓库,其中要修改setting.xml下的仓库路径,设置阿里云镜像。

    将这里的路径改为自己设置的 repository 仓库的路径。

    这个写在中,在注释里面会有mirror的模板。 

    Maven项目构建命令

    手动创建

    使用mvn开头,后面添加功能参数,可以一次执行多个命令,使用空格分隔

    mvn compile   #编译

    mvn clena       #清理

    mvn test          #测试

    mvn package  #打包

    mvn install      #安装到本地仓库

    插件创建 

    依赖管理

    依赖传递
    • 依赖有传递性
      • 直接依赖:在当前项目中通过配置建立的依赖关系
      • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
    • 路径优先:当依赖中出现相同资源时,层级越深,优先级越低,层级越浅,优先级越高
    • 声明优先:当资源在相同层级被依赖时,配置位置靠前的覆盖废纸顺序靠后的
    • 特殊优先:当统计配置了相同层级的不用版本,后配置的覆盖先配置的

    可选依赖

    对外隐藏当前所依赖的资源——不透明

    
        com.google.code.gson
        gson
        2.8.9
        true
    
    排除依赖

    排除依赖指主动断开依赖的资源,被排除的资源无需指定版本

    
        com.google.code.gson
        gson
        2.8.9
        
            
                junit
                junit
            
        
    
    依赖范围

    依赖的jar包默认情况可以在任何地方使用,可以通过scope标签设定其作用范围

    作用范围:

    • 主程序范围有效(main文件夹范围内)
    • 测试程序范围有效(test文件夹范围内)
    • 是否参与打包(package指令范围内)

    生命周期和插件

    clean:清理工作

    default:核心工作,例如编译,测试,打包,部署等

    site:产生报告,发布站点等

    插件

    • 插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能
    • 默认maven在各个生命周期上有预设的功能
    • 通过插件可以自定义其他功能

  • 相关阅读:
    Day14--商品详情--分支的合并与提交
    【RocketMQ】数据的清理机制
    京东详情api
    Educational Codeforces Round 155 (Rated for Div. 2)
    【高等数学】弧微分、渐近线、曲率和曲率半径
    PID原理及python简单实现与调参
    大模型系统和应用——Transformer&预训练语言模型
    图解Base64
    求 k 整除最大元素和(dp)
    Spring Boot 统一功能处理
  • 原文地址:https://blog.csdn.net/m0_73172034/article/details/132707369