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插件才有,项目名右键。如:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot集成Druid实现监控功能

Druid是阿里巴巴开发的号称为监控而生的数据库连接池&#xff0c;在功能、性能、扩展性方面&#xff0c;都超过其他数据库连接池&#xff0c;包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource等等等&#xff0c;秒杀一切。Druid可以很好的监控DB池连接和SQL的执行情况&#…

STM32G030C8T6:定时器1ms中断(以64MHz外部晶振为例)

本专栏记录STM32开发各个功能的详细过程&#xff0c;方便自己后续查看&#xff0c;当然也供正在入门STM32单片机的兄弟们参考&#xff1b; 本小节的目标是&#xff0c;系统主频64 MHZ,采用高速外部晶振&#xff0c;通过定时器3 每秒中断控制 PB9 引脚输出高低电平&#xff0c;从…

【服务器】服务器推荐

一、引言 在数字世界的浪潮中&#xff0c;服务器作为数据存储和处理的基石&#xff0c;其重要性不言而喻。而在这个繁星点点的市场中&#xff0c;雨云以其独特的优势和超高的性价比&#xff0c;逐渐成为众多企业和个人的首选。今天&#xff0c;就让我带你走进雨云的世界&#…

DC与DCT DCG的区别

先进工艺不再wire load model进行静态时序分析&#xff0c;否则综合结果与后端物理电路差距很大&#xff0c;因此DC综合工具也进行了多次迭代&#xff0c;DC工具有两种模式&#xff0c;包括wire load mode和Topographical Mode&#xff0c;也就是对应的DC Expert和DC Ultra。 …

ios抓包Tunnel to......443

fiddler官网下载“CertMaker for iOS and Android”插件&#xff0c;官网插件&#xff1a;https://www.telerik.com/fiddler/add-ons 双击运行插件后&#xff0c;重启fiddler&#xff0c;ios重新安装证书即可

K8S部署Java项目 pod的logs报错为:Error: Unable to access jarfile app.jar

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

psp游戏存档收集SAVEDATA

不想从头开始 ppsspp存档目录 pc&#xff1a;ppsspp解压目录\memstick\PSP\SAVEDATA 安卓&#xff1a;根目录\PSP\SAVEDATA 噬神者2(日版) NPJH50832099c645531020001000 風燐-https://wwl.lanzouq.com/iI1R01owozxa 咲夜-https://wwl.lanzouq.com/id1tX1owp2uf につてのぬ…

【ACW 服务端】页面操作Java增删改查代码生成

版本: 1.2.2-JDK17-SNAPSHOT 项目地址&#xff1a;wu-smart-acw 演示地址&#xff1a;演示地址 admin/admin Java增删改查代码生成 找到对应菜单 选择你需要的数据实例 选择数据库 选择数据库表 选择客户端&#xff08;如果是本地ACW服务代码启动默认注册上的客户端ID是…

AD9226 65M采样 模数转换

用 vivado 写的 AD9220_ReadTEST module AD9220_ReadTEST( input clk, input rstn,output clk_driver, //模块时钟管脚 input [12:0]IO_data, //模块数据管脚output [11:0]ADC_Data,//12位ADC数据 output ADC_OTR //信号过压标志位 );wire areset, pll260m_lockedPIN; wire…

开源分子对接程序rDock的安装及使用流程

前言 本文介绍开源分子对接程序rDock在Linux Ubuntu 22.04系统上的conda安装、编译安装过程及程序使用流程。 一、rDock是什么&#xff1f; rDock来源 rDock是一个快速、多功能的开源对接程序&#xff0c;可用于将小分子与蛋白质和核酸对接。它专为高通量虚拟筛选&#xff08…

OLED透明屏厂家:开启2024年新征程

随着科技的不断进步和创新&#xff0c;OLED透明屏作为一种前沿的显示技术&#xff0c;正逐渐走进人们的视野&#xff0c;成为多个领域的焦点。在2024年2月21日这个特殊的日子&#xff0c;我们这家领先的OLED透明屏厂家正式开工&#xff0c;预示着我们将迎来一个充满机遇和挑战的…

Ubuntu22部署MySQL5.7详细教程

Ubuntu22部署MySQL5.7详细教程 一、下载MySQL安装包二、安装MySQL三、启动MySQL检查状态登录MySQL 四、开启远程访问功能1、允许其他主机通过root访问数据库2、修改配置文件&#xff0c;允许其他IP通过自定义端口访问 五、使用Navicat连接数据库 默认情况下&#xff0c;Ubuntu2…

穿越科技的电影之旅:计算机专业必看的三部经典电影

文章目录 方向一&#xff1a;电影推荐方向二&#xff1a;技术与主题方向三&#xff1a;职业与人生 计算机专业必看的几部电影&#xff0c;就像一场精彩的编程盛宴&#xff01;《黑客帝国》让你穿越虚拟世界&#xff0c;感受高科技的魅力&#xff1b;《社交网络》揭示了互联网巨…

图——最小生成树实现(Kruskal算法,prime算法)

目录 预备知识&#xff1a; 最小生成树概念&#xff1a; Kruskal算法&#xff1a; 代码实现如下&#xff1a; 测试&#xff1a; Prime算法 &#xff1a; 代码实现如下&#xff1a; 测试&#xff1a; 结语&#xff1a; 预备知识&#xff1a; 连通图&#xff1a;在无向图…

前缀和第二弹

力扣560.和为k的子数组 子数组经典暴力解法&#xff1a;枚举全部位置&#xff0c;因为取值为可能为负 首先把前缀和&#xff0c;和出现的次数都存储一下&#xff0c;一般前缀和就出现一次&#xff0c;然后往后找&#xff0c;如果前缀和-k就说明有一段数组是等于sum-k class Sol…

Python 如何给出一个周期性函数接近某个值所有的值

Python 如何给出一个周期性函数接近某个值的值 推荐阅读正文一般化周期性函数拓展推荐阅读 Python 寻找一个一维数组中最接近某个值的元素 Python 如何切分函数 正文 一般化周期性函数 本文一看,可能感觉标题有些拗口,难以理解,请看下图: 图像显然具有一定的周期性,如…

特殊文本文件

特殊文件 普通文件.txt属性文件.propertiesXML文件.xml 为什么要用这些特殊文件 存储多个用户的&#xff1a;用户名、密码 存储多个用户的&#xff1a;用户名、密码、家乡、性别 存储有关系的数据&#xff0c;做完系统的配置文件 做为信息进行传输 这些特殊文件&#xff0c;我…

Android中通过属性动画实现文字轮播效果

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 一、创建一个自定义ProvinceView类,具体代码如下 /*** Author: ly* Date: 2024/2/22* D…

Redis的常见面试题

目录 前言 Redis支持哪些数据类型 五种核心类型 Zset为什么用跳表不用红黑树 &#xff1f; Redis常见的应用场景&#xff1f; 如何检测Redis的连通性&#xff1f; 如何设置key的过期时间&#xff1f; Redis为什么是单线程模型&#xff1f; Redis里的IO多路复用是什…

恶意代码识别率提升95%!谷歌开源人工智能网络安全防御工具

近日&#xff0c;谷歌日前宣布发起网络安全人工智能防御计划&#xff0c;旨在利用人工智能技术提升网络安全水平&#xff0c;扭转困扰网络安全行业的“防守困境”。 该计划的核心举措是开源Magika&#xff0c;这是一款用于文件类型识别的AI工具&#xff0c;能够帮助检测恶意软件…