4.pom文件介绍Maven常用命令

1.pom.xml文件介绍.

1.1project标签和modelVersion标签介绍.

  • pom.xml文件是maven的核心文件,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述如何构建,声明项目依赖;;


1.2依赖坐标介绍.

  • 依赖的坐标主要是由:groupid、artifiactId、version三部分组成,简称:"gav",坐标概念来自数学;

  • 坐标作用:确定资源,是资源的唯一标识。 在maven中,每个资源都是坐标,且坐标值是唯一的。如下这个坐标:

  • dependencyManagement:依赖管理器;

  • dependencies:依赖列表;

  • groupId:组织名称。 公司,团体或者单位的标识。 这个值常使用的公司域名的反写;

  • artifactId:项目名称,本项目的唯一ID,一个 groupId下面可以包含多个项目,就是靠 artifactId来区分的;

  • version:版本,项目的版本号,使用三位数字组成。主版本号.次版本号.小版本号,如:.2.5。注意:版本号中有"-SNAPSHOT",表示快照版,不是稳定的版本;而 "RELEASE" 则是稳定版/发行版的意思。    

  • scope:控制 dependency 元素的使用范围。通俗的讲,就是控制 Jar 包在哪些范围被加载和使用。常用的值有如下:

    • compile(默认):含义:compile 是默认值,如果没有指定 scope 值,该元素的默认值为 compile。被依赖项目需要参与到当前项目的编译,测试,打包,运行等阶段,打包的时候通常会包含被依赖项目。

    • provided:被依赖项目理论上可以参与编译、测试、运行等阶段,相当于compile,但是再打包阶段做了exclude(排除)的动作。适用场景:例如, 如果我们在开发一个web 应用,在编译时我们需要依赖 servlet-api.jar,但是在运行时我们不需要该 jar 包,因为这个 jar 包已由应用服务器提供,此时我们需要使用 provided 进行范围修饰。

    • runtime:表示被依赖项目无需参与项目的编译,但是会参与到项目的测试和运行。与compile相比,被依赖项目无需参与项目的编译。适用场景:例如,在编译的时候我们不需要 JDBC API 的 jar 包,而在运行的时候我们才需要 JDBC 驱动包。

    • test:表示被依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。适用场景:例如,Junit 测试。

    • system:system 元素与 provided 元素类似,但是被依赖项不会从 maven 仓库中查找,而是从本地系统中获取,systemPath 元素用于制定本地系统中 jar 文件的路径。例如:

    • import:它只使用在<dependencyManagement>中,表示从其它的pom中导入dependency的配置。适用场景:模块的继承关系中。


1.3项目打包参数配置.

  • Maven项目打包的打包方式及生成的包名由如下内容决定:

  • packing标签里面指定了打包的方式,有 jar、war、ear、pom等,默认的是 jar;

  • 打包方式不同,生成的包名不同:

    • 如果是通过 package命令打包,那么在 target里面生成的包名是:sping.war;

    • 如果是通过 install命令打包,会在 target里面生成一个包,包名是:sping.war,同时还会在本地仓库的位置生成一个包,包名是:sping-1.0-SNAPSHOT.war。

  • 打包后的jar包名字生成规范:artifactId.packaging,如当前的配置,项目打包后生成的包名就是:spring.war。


1.4插件坐标介绍.

  • pluginManagement:插件管理器;

  • plugins:插件列表;

  • plugin:引入插件的依赖,一对<plugin>标签对应一个插件。


2.Maven常用操作介绍.

2.1Maven install操作.

  • Maven install:对项目进行编译打包,并将项目转换成为 maven依赖存放在本地 maven仓库中。同时还会在 target目录和本地仓库的目录里面生成 war包,如:

    • 在 target目录里面的包名是:项目名.war,如:sping.war;也会存放在项目的本地工作空间的 taget目录里面;

    • 在本地仓库里面的包名是:项目名-版本号.war,如:spring-1.0-SNAPSHOT.war。在本地仓库的路径:E:\repository\com\wuicy\spring\1.0-SNAPSHOT;

  • 同时还会在项目的 targer目录里面和并将项目打包发布到本地工作空间的项目文件的 target目录里,如:

  • 执行该命令的时候可以先执行clean操作清除原先打包的项目,再执行install操作。


2.2Maven test操作.

  • Maven test:对项目进行编译并执行test目录里面的测试代码。


2.3Maven clean操作.

  • Maven clean:清理 target目录。在进行真正的构建项目之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目的target目录里面的文件。


2.4Maven package操作.

  • 注意和 Maven install命令的区别;

  • Maven package:将项目打包,包名是:项目名.war,该操作只会将项目打包存放到本地工作空间的位置,不会在本地仓库粗放。如:


2.5Maven Reimport操作.

  • 该操作是刷新更新 Maven项目,如果有依赖没下载好,就可以使用该命令刷新 Maven项目,重新下载依赖,不过该命令需要先下载 Maven Helper插件才有,项目名右键。如:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

得物面试:Kafka消息0丢失,如何实现?

得物面试&#xff1a;Kafka消息0丢失&#xff0c;如何实现&#xff1f; 尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格&#xff0c;遇到很多很重要的面…

新版Java面试专题视频教程——多线程篇②

新版Java面试专题视频教程——多线程篇② 0. 问题汇总0.1 线程的基础知识0.2 线程中并发安全0.3 线程池0.4 使用场景 1.线程的基础知识2.线程中并发锁3.线程池3.1 说一下线程池的核心参数&#xff08;线程池的执行原理知道嘛&#xff09;3.2 线程池中有哪些常见的阻塞队列Array…

高级语言期末2014级A卷

1.编写函数 int delarr(int a[] ,int n)&#xff0c;删除有n个元素的正整型数组a中所有素数&#xff0c;要求&#xff1a; 1&#xff09;数组a中剩余元素保持原来次序&#xff1b; 2&#xff09;将处理后的数组输出&#xff1b; 3&#xff09;函数值返回剩余元素个数&#xff1…

MySQL索引面试题(高频)

文章目录 前言什么时候需要&#xff08;不需要&#xff09;)使用索引&#xff1f;有哪些优化索引的方法前缀索引优化索引覆盖优化索引失效场景 总结 前言 今天来讲一讲 MySQL 索引的高频面试题。主要是针对前一篇文章 MySQL索引入门&#xff08;一文搞定&#xff09;进行查漏补…

虚拟机的内存结构

一、摘要 熟悉 Java 语言特性的同学都知道&#xff0c;相比 C、C 等编程语言&#xff0c;Java 无需通过手动方式回收内存&#xff0c;内存中所有的对象都可以交给 Java 虚拟机来帮助自动回收&#xff1b;而像 C、C 等编程语言&#xff0c;需要开发者通过代码手动释放内存资源&…

MedicalGPT 训练医疗大模型,实现了包括增量预训练、有监督微调、RLHF(奖励建模、强化学习训练)和DPO(直接偏好优化)

MedicalGPT 训练医疗大模型&#xff0c;实现了包括增量预训练、有监督微调、RLHF(奖励建模、强化学习训练)和DPO(直接偏好优化)。 MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 训练医疗大模型&#xff0c;实现了包括增量预训练、有监督微…

Linux第63步_为新创建的虚拟机添加必要的目录和安装支持linux系统移植的软件

1、创建必要的目录 1)、创建“/home/zgq/linux/”目录 打开终端&#xff0c;进入“/home/zgq/”目录 输入“mkdir linux回车”&#xff0c;创建“/home/zgq/linux/”目录 输入“ls回车”&#xff0c;列举“/home/zgq/”目录的所有文件和文件夹 创建好“/home/zgq/linux/”…

EIS(防抖):meshflow算法 C++实现

视频防抖的应用 对视频防抖的需求在许多领域都有。 这在消费者和专业摄像中是极其重要的。因此&#xff0c;存在许多不同的机械、光学和算法解决方案。即使在静态图像拍摄中&#xff0c;防抖技术也可以帮助拍摄长时间曝光的手持照片。 在内窥镜和结肠镜等医疗诊断应用中&…

Go 中的 init 如何用?它的常见应用场景有哪些呢?

嗨&#xff0c;大家好&#xff01;我是波罗学。本文是系列文章 Go 技巧第十六篇&#xff0c;系列文章查看&#xff1a;Go 语言技巧。 Go 中有一个特别的 init() 函数&#xff0c;它主要用于包的初始化。init() 函数在包被引入后会被自动执行。如果在 main 包中&#xff0c;它也…

QT基本组件

四、基本组件 Designer 设计师&#xff08;重点&#xff09; Qt包含了一个Designer程序&#xff0c;用于通过可视化界面设计开发界面&#xff0c;保存文件格式为.ui&#xff08;界面文件&#xff09;。界面文件内部使用xml语法的标签式语言。 在Qt Creator中创建文件时&#xf…

滚雪球学Java(67):深入理解 TreeMap:Java 中的有序键值映射表

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

机器人内部传感器阅读笔记及心得-位置传感器-旋转变压器、激光干涉式编码器

旋转变压器 旋转变压器是一种输出电压随转角变化的检测装置&#xff0c;是用来检测角位移的&#xff0c;其基本结构与交流绕线式异步电动机相似&#xff0c;由定子和转子组成。 旋转变压器的原理如图1所示&#xff0c;定子相当于变压器的一次侧&#xff0c;有两组在空间位置上…

MyBatis-Plus 优雅实现数据加密存储

文章目录 前言一、数据库字段加解密实现1. 定义加密类型枚举2. 定义AES密钥和偏移量3. 配置定义使用的加密类型4. 加密解密接口5. 解密解密异常类6. 加密解密实现类6.1 AES加密解密实现类6.2 Base64加密解密实现类 7. 实现数据库的字段保存加密与查询解密处理类8. MybatisPlus配…

使用python进行量化交易

yfinance yfinance国内不能使用&#xff0c;可以使用tushare、akshare代替 import yfinance as yf# 输入股票代码 stock_symbol AAPL # 替换为你想要查询的股票代码# 获取股票数据 data yf.download(stock_symbol)# 打印实时数据 print(data)pip install akshare import …

Selenium安装与配置

文章目录 一、selenium安装1. Python环境准备&#xff1a;2. 安装Selenium&#xff1a;3. 浏览器驱动安装&#xff1a;4. 验证安装&#xff1a; 二、常见问题1. Selenium版本与浏览器驱动程序不兼容&#xff1a;2. 浏览器驱动程序路径未正确设置&#xff1a; Selenium是一个用于…

2024年1月手机市场行业分析:苹果手机份额骤降,国产高端手机成功逆袭!

小米Ultra发布。 一方面&#xff0c;我们有望看到国产手机再一次超越自己的决心&#xff0c;继续创新追逐高端&#xff1b;另一方面&#xff0c;我们也不得不正视目前手机市场所面临的危机状态。 2024年1月的线上手机市场远不如去年。根据鲸参谋数据显示&#xff0c;今年1月京…

Qt(C++)面试题 | 精选25项常问

面试是每个求职者都必须经历的一关,而QT面试更是需要面试者有深厚的编程基础和丰富的实战经验。下面我们为大家整理了25道QT面试题,希望能够帮助大家在求职路上获得成功。 ​Qt 中常用的五大模块是哪些? Qt 中常用的五大模块包括: QtCore:提供了 Qt 的核心功能,例如基本的…

Java面试题之分布式/微服务篇

经济依旧不景气啊&#xff0c;如此大环境下Java还是这么卷&#xff0c;又是一年一次的金三银四。 兄弟们&#xff0c;你准备好了吗&#xff1f;冲冲冲&#xff01;欧里给&#xff01; 分布式/微服务相关面试题解 题一&#xff1a;CAP理论&#xff0c;BASE理论题二&#xff1a;…

深度神经网络

包括&#xff1a;深度前馈神经网络、深度卷积神经网络、深度循环神经网络 深度神经网络全面概述&#xff1a;从基本概念到实际模型和硬件基础-腾讯云开发者社区-腾讯云

MQL语言实现JSON协议库

文章目录 一、MQL语言实现JSON协议的意义二、定义JSON数据枚举类型简单数据类型复杂数据类型枚举数据类型定义类变量清理与赋值方法构造与析构方法重载运算符添加与设置方法序列化与反序列方法 一、MQL语言实现JSON协议的意义 数据交互&#xff1a;JSON是一种轻量级的数据交换格…