Maven

Maven是专门用于管理和构建Java项目的工具

1. Maven安装配置

Maven目录结构如下:

bin目录 : 存放的是可执行命令。mvn 命令重点关注。

conf目录 :存放Maven的配置文件。settings.xml 配置文件后期需要修改。

lib目录 :存放Maven依赖的jar包。Maven也是使用java开发的,所以它也依赖其他的jar包。

  • 配置本地仓库

    修改 conf/settings.xml 中的 <localRepository> 为一个指定目录作为本地仓库,用来存储jar包。

  • 配置阿里云私服

    修改 conf/settings.xml 中的 <mirrors>节点为使用私服来加速依赖包下载,阿里云Mavenopen in new window

    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    

2. Maven基本使用

Maven 常用命令

  • compile :编译

  • clean:清理

  • test:测试

  • package:打包

  • install:安装

Maven生命周期

默认的生命周期也有对应的很多命令,其他的一般都不会使用,我们只关注常用的,Maven的指令是按序执行的

3. 在IDEA中使用Maven

依次打开IDEA -->Setting

如图所示,就可以使用自己下载的maven,也可以使用idea自带的maven。

4. Maven 坐标详解

什么是坐标?

  • Maven 中的坐标是==资源的唯一标识==
  • 使用坐标来定义项目或引入项目中需要的依赖

Maven 坐标主要组成

  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
  • artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
  • version:定义当前项目版本号

4.1 Maven依赖范围

通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境。

那么 scope 都可以有哪些取值呢?

依赖范围编译classpath测试classpath运行classpath例子
compileYYYlogback
test-Y-Junit
providedYY-servlet-api
runtime-YYjdbc驱动
systemYY-存储在本地的jar包
  • compile :作用于编译环境、测试环境、运行环境。
  • test : 作用于测试环境。典型的就是Junit坐标,以后使用Junit时,都会将scope指定为该值
  • provided :作用于编译环境、测试环境。我们后面会学习 servlet-api ,在使用它时,必须将 scope 设置为该值,不然运行时就会报错
  • runtime : 作用于测试环境、运行环境。jdbc驱动一般将 scope 设置为该值,当然不设置也没有任何问题

注意:

  • 如果引入坐标不指定 scope 标签时,默认就是 compile 值。以后大部分jar包都是使用默认值。
Loading...