Maven

一款管理和构建Java项目的工具。

  1. 依赖管理方便
  2. 项目架构统一
  3. 跨平台兼容

Maven坐标:

资源的唯一标识,通过该坐标可以唯一定位资源的位置。

也可以使用坐标来定义项目或引入项目中需要的依赖。

主要组成部分

  1. groupid:组织名称,通常是域名反写
  2. artifactid:项目/模块名
  3. version:定义当前项目版本号

依赖管理

导入所需要的jar包

配置过程:

  1. 打开pom.xml,前新增标签
  2. 中使用引入坐标
  3. 填写上面提到的三种坐标
  4. 刷新(右上角小m按钮)即可从库中导入。
    <dependencies>
        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.10</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

</project>

不知道具体坐标信息,可以从百度mvnrepository,在网站中搜索选择版本,复制过来就可以了。

依赖传递

依赖可以分为两类,直接和间接。

直接就是当前maven模块下导入的依赖,简介就是已经导入的依赖中所导入的依赖,可以理解为俄罗斯套娃,大依赖套小依赖。

大依赖被导入进去时小的依赖也会被导入,这就是依赖传递。

如果想查看具体依赖内容可以点击idea右侧栏的M字符,在当前项目下展开依赖项,逐层展开就会得到一棵依赖树。

依赖范围

当不刻意规定依赖范围时,依赖会默认作用于所有地方,这些“地方”可以分为三类。

  1. 主程序范围(main文件夹范围)
  2. 测试程序范围(test文件夹范围)
  3. 是否参与打包(package指令范围)

如果想限制范围,需要在添加依赖的部分用标签注明,如下:

<dependency>
/*三种坐标
*...
*/
<scope>...</scope>
</dependency>

标签中间的值主要有四种:

屏幕截图 2025-11-15 154015

生命周期

maven中有三套相互独立的生命周期:

  1. clean:清理工作

  2. default:核心工作,包括编译测试打包安装部署等

  3. site:生成报告,发布站点等

每套生命周期包含一些顺序固定的阶段,后面阶段运行时前面阶段也会运行。

在许多阶段中,我们主要关注五个阶段:

  1. clean:移除上一次构建生成的文件
  2. compile:编译源代码
  3. test:使用合适的单元测试框架进行测试(junit)
  4. package:将编译后的文件打包,格式如jar、war等
  5. install:安装项目到本地仓库

运行方式

  1. idea右侧maven工具栏选中,双击执行。
  2. 命令行中 mvn xxx执行

实际上,在生命周期阶段的执行过程中,一切行为都是由插件(Plugins)完成的,在右侧m功能区,也可以看到,上半部分为LifeCycle,下半部分为Plugins。

Posted on 2025-11-15 16:11  miloandmicah  阅读(3)  评论(0)    收藏  举报