首页 > 其他分享 >pom.xml中的<scope></scope>标签详解

pom.xml中的<scope></scope>标签详解

时间:2023-07-22 20:33:38浏览次数:43  
标签:xml dm 详解 lib jar 依赖 pom resources 打包

    1、scope标签的值的种类:

1、compile:默认值,可省略不写。此值表示该依赖需要参与到项目的编译、测试以及运行周期中,打包时也要包含进去。
2、test:该依赖仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit。
3、runtime:该依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段。
4、provided:该依赖在打包的时候可以不用包含进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude(排除)操作。
5、system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径

    2、一下为scope是system时举的例子:

例:有一个dm.jar在${basedir}/src/main/resources/lib目录下:

<dependency>
    <groupId>dm</groupId>
    <artifactId>dm</artifactId>
    <scope>system</scope>
    <version>1.0</version>
    <systemPath>${basedir}/src/main/resources/lib/dm.jar</systemPath>
</dependency>

 

注:如果是打包war包,并且打包完成后需要把本地的${basedir}/src/main/resources/lib/dm.jar和线上下载的依赖整合到一个目录的话,就还需要做如下配置:

 

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <webResources>
            <resource>
                <!--把本地lib里面的jar复制到lib-->
                <directory>src/main/resources/lib</directory>
                <targetPath>WEB-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>

 

标签:xml,dm,详解,lib,jar,依赖,pom,resources,打包
From: https://www.cnblogs.com/Fooo/p/17574190.html

相关文章

  • Java多线程详解——一篇文章搞懂Java多线程
    Java多线程详解——一篇文章搞懂Java多线程目录1.基本概念2.线程的创建和启动2.1.多线程实现的原理2.2.多线程的创建,方式一:继承于Thread类2.3.多线程的创建,方式一:创建Thread匿名子类(也属于方法一)2.4.多线程的创建,方式二:实现Runnable接口2.4.1.比较创建线程的两种......
  • MySQL的执行计划详解(Explain)
    MySQL的执行计划详解(Explain)1、MySQL执行计划的定义在MySQL中可以通过explain关键字模拟优化器执行SQL语句,从而知道MySQL是如何处理SQL语句的。2、MySQL整个查询的过程•客户端向MySQL服务器发送一条查询请求•服务器首先检查查询缓存,如果命中缓存,则立刻返回存储......
  • Linux权限详解
    一、文件、目录权限和所有者简介:用户对一个文件或目录具有访问权限,这些访问权限决定了谁能访问,以及如何范围这些文件和目录。通过设置权限可以限制或允许以下三种用户访问:文件的用户所有者(属主)文件的组群所有者(用户所在组的同组用户)系统中的其他用户在linux系统中,每一位用......
  • file /usr/share/mysql/charsets/macroman.xml from install of MySQL-server-5.6
    MySQL服务器和字符集在使用MySQL数据库时,字符集是一个非常重要的概念。它决定了数据库中存储的数据如何表示和解释。MySQL支持多种字符集,每个字符集都有自己的编码方式和规则。在安装MySQL服务器时,我们可能会遇到如下错误提示信息:file/usr/share/mysql/charsets/macroma......
  • Kong API Gateway 配置文件详解
    一、前言Kong配置文件是Kong服务的核心文件,它配置了Kong以怎样的方式运行,并且依赖于这个配置生成Nginx的配置文件,本文通过解读Kong配置文件,以了解Kong的运行和配置。在成功安装Kong以后,会有一个名为kong.conf.default默认的配置文件示例,如果是通过包管理器安装的,通常位于/etc/k......
  • 一步一图带你构建 Linux 页表体系 —— 详解虚拟内存如何与物理内存进行映射
    笔者之前在自己的专栏《聊聊Linux内核》里通过大量的篇幅写了一个系列关于内存管理相关的文章,在这个系列文章中,笔者分别通过虚拟内存管理和物理内存管理两个角度算是把Linux内存管理子系统的全貌给大家呈现了出来。但之前的文章都是以专题的形式给大家呈现,采用一种静态的方......
  • AllowsTransparency属性详解
    AllowsTransparency属性是一个布尔值属性,用于指示窗口是否允许透明度。需要注意的是,当AllowsTransparency属性为True时,窗口的Style属性应设置为None,以便正确地呈现窗口的透明度。如果设置为True,则窗口可以是半透明的,即可以设置窗口的不透明度。当AllowsTransparency属性......
  • Java线程池详解:Future的使用和实现
    提交到线程池中执行的异步任务都会返回一个任务的Future,所以这里先介绍一下Future的使用和实现。异步任务通常会被提交到线程池中去执行,但任务并非提交到线程池后就不管不顾了,在某些时刻我们希望能够取消任务,同时也希望在任务执行完成后获取到任务的执行结果。Java提供了Futur......
  • python session post传xml格式
    PythonSessionPost传递XML格式1.简介在本文中,我将向你介绍如何使用Python中的requests模块通过Session发送POST请求并传递XML格式的数据。我们将使用以下步骤来完成这个任务:创建一个Session对象构建POST请求发送请求并获取响应处理响应数据在下面的表......
  • 小白也能看懂的 ROC 曲线详解
    作者:PrimiHub-KevinROC曲线是一种坐标图式的分析工具,是由二战中的电子和雷达工程师发明的,发明之初是用来侦测敌军飞机、船舰,后来被应用于医学、生物学、犯罪心理学。如今,ROC曲线已经被广泛应用于机器学习领域的模型评估,说到这里就不得不提到TomFawcett大佬,他一直在致力于......