MAVEN的使用

MAVEN的使用

@author 无忧少年

@creatTime 2019/09/23

​ 一直在使用maven,却不知道maven具体干了什么,这里详细的学习和记录一下maven。

1.maven介绍

​ Maven是一个项目构建工具,能把项目抽象成一个POM(project object model),使用POM文件对项目进行构建、打包、文档化等操作。最重要的是解决了项目依赖的问题,简化项目环境搭建的过程。

​ 实际上maven就是一款帮助程序员构建项目的工具,我们需要告诉maven需要哪些jar包,他会帮助我们下载所有的jar包,极大提升开发效率。

2. maven的配置

  1. 在官网下载安装包:http://maven.apache.org/download.cgi
  2. 解压缩压缩包
  3. 配置环境变量MAVEN_HOME=maven的解压后的目录
  4. 在变量Path的开头增加"%MAVEN_HOME%\bin;"
  5. 在MAVEN_HOME/conf/setting.xml文件中通过<localRepository > </localRepository>标签配置本地仓库的位置

3.MAVEN的使用

1.在IDEA中配置使用本地安装的maven

打开: File–>Settings, 然后按照下图操作

在这里插入图片描述

3.maven项目结构

  1. 项目结构

在这里插入图片描述

​ src/main/java : 项目java类文件位置

​ src/main/resources : 项目配置资源文件位置

​ src/test/java : 项目单元测试java类文件位置

​ src/test/resources : 项目单元测试配置资源文件位置

​ target : 项目打包后文件所在位置

4.maven的坐标、依赖

  1. 坐标:maven通过groupId、artifactId、version三个变量来唯一确定一个具体的依赖(俗称GAV)
  2. 依赖:在pom.xml中我们通过dependency来声明坐标信息(GAV)如:
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
  <version>4.2.6.RELEASE</version>
</dependency>

这样我们就在项目中依赖了4.2.6.RELEASE版本的spring-core jar包.

pom.xml中packaging用来指定打包方式,默认为:jar

  1. dependencyManagementy

1) 只能出现在父pom里

2) 统一版本号

3) 只是依赖声明,并不直接依赖,需要时在子项目中在声明要使用依赖的GA信息,V信息可以省略.

  1. 依赖scope

1) compile:编译依赖范围,在编译,测试,运行时都需要,依赖范围默认值

2) test:测试依赖范围,测试时需要。编译和运行不需要,如junit

3) provided:已提供依赖范围,编译和测试时需要。运行时不需要,如servlet-api

4) runtime:运行时依赖范围,测试和运行时需要。编译不需要,例如面向接口编程,JDBC驱动实现jar

5) system:系统依赖范围。本地依赖,不在maven中央仓库,结合systemPath标签使用

  1. 依赖传递时仲裁原则

1) 路径最短原则

2) 路径一样长,加载先后原则

在这里插入图片描述

: 第一列表示直接依赖的scope,第一行表示间接依赖的scope

  1. 依赖排除

使用<exclusions>标签下的<exclusion>标签指定GA信息来排除,例如:排除xxx.jar传递依赖过来的yyy.jar

<dependency>
  <groupId>com.xxx</groupId>
  <artifactId>xxx</artifactId>
  <version>x.version</version>
  <exclusions>
    <exclusion>
      <groupId>com.xxx</groupId>
      <artifactId>yyy</artifactId>
    </exclusion>
  </exclusions>
</dependency>
  1. 依赖关系查看

进入工程根目录,在cmd中运行

1) mvn dependency:tree 命令会列出依赖关系树及各级依赖关系

2) mvn dependency:analyze 分析依赖关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值