Maven的介绍和使用

Maven的作用

项目构建

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

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

Maven的使用

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

Maven的介绍和使用_第1张图片

Maven的介绍和使用_第2张图片

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

Maven的介绍和使用_第3张图片

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

Maven项目构建命令

手动创建

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

mvn compile   #编译

mvn clena       #清理

mvn test          #测试

mvn package  #打包

mvn install      #安装到本地仓库

插件创建 

Maven的介绍和使用_第4张图片

Maven的介绍和使用_第5张图片

依赖管理

依赖传递

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

Maven的介绍和使用_第6张图片

可选依赖

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


    com.google.code.gson
    gson
    2.8.9
    true

排除依赖

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


    com.google.code.gson
    gson
    2.8.9
    
        
            junit
            junit
        
    

依赖范围

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

作用范围:

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

Maven的介绍和使用_第7张图片

生命周期和插件

clean:清理工作

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

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

插件

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

你可能感兴趣的:(maven,java)