POM配置

news/2024/7/16 9:22:51 标签: pycharm, ide, python

dependencies
   所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承

dependencyManagement
  只是声明依赖,并不会自动引入,因此子项目需要显示声明依赖。在子项目中声明了依赖项,且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,则会使用子项目中指定的版本。

type
    用于指定依赖的类型,它表示该依赖的文件类型或扩展名。默认值是jar,表示标准的Java库。下面是一些常见的type的值:
jar:表示标准的Java库,这是默认值。
war:表示Web应用程序归档文件。
pom:表示一个Maven的parent pom或子模块的pom。
test-jar:表示测试源码构建出的JAR文件。

scope
    用于指定依赖的范围,它表示该依赖在编译、运行、测试等不同阶段的作用范围。下面是一些常见的scope的值:

compile:默认值。表示该依赖在编译和运行时都需要被包含。
runtime:表示该依赖在运行时才需要被包含,不会参与编译。
test:表示该依赖只在测试阶段使用,不会参与编译和运行。
provided:表示该依赖在编译和测试时需要,但是在运行时由运行环境(比如Java EE容器)提供。
system:表示依赖通过systemPath属性指定,它指定了依赖文件在本地文件系统中的路径。这种  情况下,Maven不会从依赖仓库中解析该依赖,而是直接使用指定的文件。这个选项主要用于引入本地系统中的非Maven管理的依赖。一般情况下,应该尽量避免使用此选项,因为它会使项目的可移植性降低。
import:表示依赖只在Maven进行dependency管理的“导入范围”中可用。它用于导入其他模块的    <dependencyManagement>部分的依赖,以简化子模块的POM文件。当使用import作为依赖的scope时,实际的依赖分辨在父POM中声明,在子模块中只需指定groupId和artifactId。

packaging
  表示项目打包方式,值域:
pom:在父级项目中的pom.xml文件使用的packaging配置一定为pom。父级的pom文件只作项目的  子模块的整合,在maven install时不会生成jar/war压缩包。
jar:Jar包是最为常见的打包方式,当pom文件中没有设置packaging参数时,默认使用jar方式打      包。这种打包方式意味着在maven build时会将这个项目中的所有java文件都进行编译形成.class文件,且按照原来的java文件层级结构放置,最终压缩为一个jar文件。
war:war包与jar包非常相似,同样是编译后的.class文件按层级结构形成文件树后打包形成的压缩   包。不同的是,它会将项目中依赖的所有jar包都放在WEB-INF/lib这个文件夹下,war包非常适合部署时使用,不再需要下载其他的依赖包,能够使用户拿到war包直接使用,因此它经常使用于微服务项目群中的入口项目的pom配置中


http://www.niftyadmin.cn/n/5080173.html

相关文章

css怎么实现文字描边

有时&#xff0c;我们会遇到UI稿有文字描边的效果&#xff0c;比如下图的效果。 一、给需要描边的文字加一个id选择器 例如&#xff1a; 二、css写法&#xff1a; number,{//这个是实现文字描边的关键&#xff0c;也就是‘空心文字’&#xff0c;这个是定义文字字符的描边的宽…

jetson ubuntu 设置 usb声卡为默认声卡

PulseAudio/Examples - ArchWiki #输入设备pacmd list-sources | grep -e index: -e device.string -e name: index: 2name: <alsa_output.platform-sound.analog-stereo.monitor>device.string "2"i…

2023年中国医院信息系统发展现状及行业市场规模分析[图]

医院信息系统&#xff0c;亦称“医院管理信息系统”&#xff08;简称HIS&#xff09;&#xff0c;是指利用计算机软硬件技术、网络通信技术等现代化手段&#xff0c;对医院及其所属各部门的人流、物流、财流进行综合管理&#xff0c;对在医疗活动各阶段产生的数据进行采集储存、…

vscode远程ssh服务器且更改服务器别名

目录 1、打开VS Code并确保已安装"Remote - SSH"扩展。如果尚未安装&#xff0c;请在扩展市场中搜索并安装它。 2、单击左下角的"Remote Explorer"图标&#xff0c;打开远程资源管理器。 3、在远程资源管理器中&#xff0c;单击右上角的齿轮图标&#x…

基于Cucumber的行为驱动开发(BDD)实例

本篇介绍 Cucumber 的基本使用&#xff0c; 因为Cucumber是BDD的工具&#xff0c; 所以首先需要弄清楚什么是BDD&#xff0c;而在介绍BDD之前&#xff0c;先看看常见的软件开发方法。 常见的软件开发方法 面向过程开发&#xff08;Procedural Development&#xff09;&#x…

解决Springboot集成RabbitMQ不自动生成队列的问题

1.RabbitMQ消息的消费端服务 RabbitMQ懒加载模式&#xff0c; 需要配置消费者监听才会创建 RabbitListener(queues "test.queue")另外一种方式(若Mq中无相应名称的队列,会自动创建Queue),改为如下 RabbitListener(queuesToDeclare { Queue(value "test.queu…

kepler.gl笔记:添加数据

1 可以添加的数据 本地文件 上传 CSV / GeoJSON 文件。 由于数据仅存储在浏览器中&#xff0c;上传的数据量最多为 250MB。 对于大于 250MB 的数据集&#xff0c;应该直接从远程 URL 加载它们。 URL链接 通过直接粘贴远程 URL 来加载数据或地图 JSON。 可以将其链接到 CSV …

推荐几个技术学习的网站

USB中文网 点击打开 USB中文网 - USB技术开发交流USB中文网是国内领先的专业USB技术网站&#xff0c;提供USB开发入门教程&#xff0c;USB设备开发&#xff0c;USB驱动开发&#xff0c;USB摄像头&#xff0c;USB麦克风&#xff0c;USB存储设备&#xff0c;USB-HID设备&#x…