首页 > 其他分享 >maven依赖管理,生命周期,插件

maven依赖管理,生命周期,插件

时间:2023-01-30 13:11:41浏览次数:33  
标签:插件 生命周期 maven 依赖 junit 资源 范围

依赖配置

依赖指当前项目运行所需的jar,一个项目可以设置多个依赖,在pom.xml中格式如下

 <!--设置当前项目所依赖的所有jar-->
    <dependencies>
        <!--设置具体的依赖-->
        <dependency>
            <!--依赖所属群组id-->
            <groupId>junit</groupId>
            <!--依赖所属项目id-->
            <artifactId>junit</artifactId>
            <!--依赖版本号-->
            <version>4.12</version>
        </dependency>
    </dependencies>

依赖传递

依赖具有传递性
◆直接依赖:在当前项目中通过依赖配置建立的依赖关系
◆间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源

image-20230130121610684

依赖传递冲突问题:

路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高,如junit在2度和3度都出现,优先采用2度的版本。
声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的,如junit在2度都出现,就看他们的上一级谁先配置,哪个先就采取哪个。
特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的,如在同一个pom.xml文件中出现了同一个junit,优先采用后面的那个版本。

image-20230130122045344

可选依赖

可选依赖指对外隐藏当前所依赖的资源一一不透明,但实际存在。使用方式:把optional设置为true.

		<dependency>
            <!--依赖所属群组id-->
            <groupId>junit</groupId>
            <!--依赖所属项目id-->
            <artifactId>junit</artifactId>
            <!--依赖版本号-->
            <version>4.12</version>
            <optional>true</optional>
        </dependency>

排除依赖

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

		<dependency>
            <!--依赖所属群组id-->
            <groupId>junit</groupId>
            <!--依赖所属项目id-->
            <artifactId>junit</artifactId>
            <!--依赖版本号-->
            <version>4.12</version>
            <exclusions>
                <exclusion>
                    <groupId>org.hamcrest</groupId>
                    <artifactId>hamcrest-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>	

依赖范围

依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围
●作用范围
◆主程序范围有效(main文件夹范围内)
◆测试程序范围有效(test文件夹范围内)
◆是否参与打包(package指令范围内)

image-20230130123632464

依赖范围的传递性(了解)
带有依赖范围的资源在进行传递时,作用范围将受到影响

image-20230130123801957

生命周期

项目构建生命周期

Maven构建生命周期描述的是一次构建过程经历经历了多少个事件

●Maven对项目构建的生命周期划分为3套
◆clean:清理工作
◆default:核心工作,例如编译,测侧试,打包,部署等
◆site:产生报告,发布站点等

image-20230130125546186

image-20230130125558444

image-20230130125608267

插件

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

例如:下面这段代码的意思是:在generate-test-resources这个阶段,设置打包方式为jar包。

<executions>
    <execution>
        <goals>
            <goal>jar</goal>
        </goals>
        <phase>generate-test-resources</phase>
    </execution>
</executions>

黑马maven学习笔记。

标签:插件,生命周期,maven,依赖,junit,资源,范围
From: https://www.cnblogs.com/malinyan/p/17075163.html

相关文章

  • idea怎么下载插件
    打开idea,file->settings->plugins即可,如图。   ......
  • Fitter-细节-web.xml配置方式 Fitter-细节-执行流程&生命周期
    Fitter-细节-web.xml配置方式咱们先把之前写的那个FitterDemo1里面的那个WebFitter注解,注释掉才可以写web.xml<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns......
  • Bootstrap_组件_导航条&分页条、插件_轮播图
    Bootstrap_组件_导航条&分页条导航条<!doctypehtml><htmllang="zh-CN"><head><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=e......
  • 线程的生命周期,线程有几种状态
    线程的生命周期:创建-->就绪-->运行-->阻塞-->死亡线程的状态:新建状态(New):新创建了一个线程对象就绪状态(Runable):其它线程调用了该线程的start方法。该状态的线程都在......
  • 春哥博客 - Sublime 插件安装、卸载、更新
    1、PackageControl插件:一个管理插件的插件 PackageControl插件的安装、卸载、更新按下Ctrl+Shift+P,输入PC 选则列表中的InstallPackage选项并回车,即可安装......
  • Maven —— 生命周期
    Maven——生命周期https://hernsong.blog.csdn.net/article/details/91039311?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefa......
  • maven的各个生命周期
    maven的各个生命周期https://yumbo.blog.csdn.net/article/details/104085429?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefaul......
  • maven介绍
    maven简介​ Maven是项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM),主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。为了解决传统过程中的jar......
  • 生命周期
    this上下文自动指向当前调用它的组件实例。避免用箭头函数来定义生命周期,否则无法通过this获取组件实例API所有API都在setup()之后调用beforeCreate组件实例初始......
  • 定时调度插件------Quartz.NET(一)
    官网地址https://www.quartz-scheduler.net/使用说明dll引用使用NuGet搜索Quartz,作者为MarkoLahma,Quartz.NET为该插件目前最新的为3.5.0版本,.NETCore/netstand......