pom.xml文件中的标签认识

周末不卷,研究下pom.xml里的内容。

一般一个pom.xml文件外面一个project包着以下的标签:
groupId
artifactId
repositories
properties
dependencies
build
plugins

下面分别来说说这几个标签的含义:
1、groupId:表示项目组的id
2、artifactId:表示工程的唯一id
3、version:表示工程的版本号
4、repositories:定义远程仓库的地址,本地仓库的地址一般是:~/.m2/repository,
一般首次编译的时候,如果本地仓库没有依赖的jar包或者插件,会去远程仓库下载到本地仓库,第二次运行的时候就不需要重新下载了。

5、properties: 用于统一管理所依赖的jar包的版本,一般在dependency中的版本中调用。
6、dependencies:用于管理项目所依赖的jar,也会固定带有版本信息,包括其 groupId、artifactId 和 version 等信息。其中的版本也可以调用上面properties所定义的版本。
在这里插入图片描述
当然,第一个jar包com.google.guava:guava:12.0.1也可以直接给固定版本。
在这里插入图片描述
比如项目这里依赖的flink-streaming-java所需要版本在上面的中定义。
在maven仓库中存在该jar包
在这里插入图片描述
我们可以在本地maven仓库找到该jar包
在这里插入图片描述
一般本地maven库中的所有jar包都是挂在intelli j这里:
在这里插入图片描述
7、build:定义项目的构建配置
8、plugins:在build里面,定义项目所需的插件,包括其 groupId、artifactId 和 version 等(每个Jar包或者是插件都具备这几个基本的)信息。如果这里没有定义插件的配置信息,那么 Maven 会使用默认的构建生命周期插件来执行构建过程。

常见的maven插件如下:

在这里插入图片描述
这里定义了项目所需插件:maven-assembly-plugin, 绑定到打包环节。
在这里插入图片描述
下面介绍下assembly.xml里面的标签:
id
formats
includeBaseDirectory
fileSets
files
dependencySets

1、id:表示标识符,添加到生成文件名称的后缀符
2、formats:表示支持的打包格式
3、includeBaseDirectory:默认为true。指定打的包是否包含打包层目录(比如finalName是prefix,当值为true,所有文件被放在包内的prefix目录下,否则直接放在包的根目录下。
4、fileSets:管理一组文件的存放位置
5、files:可以指定目的文件名到指定目录
在这里插入图片描述
6、dependencySets :用来定制工程依赖 jar 包的打包方式

总结:
以上,描述了一个maven项目pom文件里的标签,以及每个标签的含义。我发现这跟python中的pip有点类似,但是本地python所依赖的包,都需要手动安装(pip install)。pom里定义了项目所依赖的jar包,以及插件,在编译的时候会自动的从远程仓库中下载到本地仓库(~/.m2/repository)。本文使用的是assembly插件进行打包。

关于java打包的几种方式的总结,改天再出一篇文章总结下。

https://blog.csdn.net/qq_44732146/article/details/128936121
https://www.jb51.net/program/2983422q7.htm
https://blog.51cto.com/u_15896157/5896000

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

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

相关文章

MSOLSpray:一款针对微软在线账号(AzureO365)的密码喷射与安全测试工具

关于MSOLSpray MSOLSpray是一款针对微软在线账号(Azure/O365)的密码喷射与安全测试工具,在该工具的帮助下,广大研究人员可以直接对目标账户执行安全检测。支持检测的内容包括目标账号凭证是否有效、账号是否启用了MFA、租户账号是…

vivado 系统内逻辑设计调试流程

系统内逻辑设计调试流程 Vivado 工具提供了诸多功能 , 用于在真实硬件器件中调试系统内设计。系统内调试流程包含 3 个不同阶段 : 1. 探测阶段 : 确定设计中要探测的信号和探测的方法。 2. 实现阶段 : 完成设计实现 &…

Java学习笔记24(面向对象编程(高级))

1.面向对象编程(高级) 1.1 类变量和类方法 1.类变量 ​ *类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是…

31.2k star, 免费开源的白板绘图工具 tldraw

31.2k star, 免费开源的白板绘图工具 tldraw 分类 开源分享 项目名: tldraw -- 无限画布白板 Github 开源地址: https://github.com/tldraw/tldraw 在线测试地址: tldraw 文档地址: tldraw SDK tldraw 是一款开源免费的无限画布白板&…

网络规划(homework 静态路由 and Rip路由表更新)

1、写出下图路由器1和路由器3中的路由表(按直接交付、特定主机交付、特定网络交付、 默认交付的顺序放置路由项) 2、写出Ri更新后的路由表(rip路由协议) 1、将Rj广播的路由消息全部1 2、直接对照着更新Ri中的路由表

基于java实现的二手车交易网站

开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea…

【可能是全网最丝滑的LangChain教程】六、快速入门Agent

系列文章地址 【可能是全网最丝滑的LangChain教程】一、LangChain介绍-CSDN博客 【可能是全网最丝滑的LangChain教程】二、LangChain安装-CSDN博客 【可能是全网最丝滑的LangChain教程】三、快速入门LLM Chain-CSDN博客 【可能是全网最丝滑的LangChain教程】四、快速入门Re…

[深度学习] 无人车环境准备

1. 安装过程基本遵循以下步骤 电脑端环境配置 - OriginBot智能机器人开源套件 需要注意以下两点: 1> 由于深度学习需要的包和镜像体积都比较大,所以虚拟机硬盘大小建议120GB 2> 虚拟机的网络适配器应该设置为桥接模式,如果使用NAT模…

Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理

Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理 文章目录 Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理磁盘清理工具 使用“运行”命令访问磁盘清理利用存储感知自动管理空间清理WinSxS文件夹结合手动清理策略 小结删除临时文件总结&…

git入门教程

Git 1. Git历史 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002…

vitepress系列-06-部署篇

部署篇 上传代码库 选择腾讯旗下的CONDING 有手就行 构建 采用CONDING自带的CICD: 注意:这边持续集成中的构建计划已经满足不了vitepress了,会把默认流水线拉挂了,但是如果你是vuepress依旧可以 采用云原生进行构建: 步骤一&a…

本地生活抖音同城商家流量推广运营解决方案

【干货资料持续更新,以防走丢】 本地生活抖音同城商家流量推广运营解决方案 部分资料预览 资料部分是网络整理,仅供学习参考。 抖音运营资料合集(完整资料包含以下内容) 目录 抖音本地生活运营方案,帮助本地生活服务…

金融企业区域集中库的设计构想和测试验证

导读 本文探讨了金融企业区域集中库的设计构想和测试验证,包括架构设想、数据库整合场景测试及优势和使用设想。作者提出利用 TiDB 数据库产品集中建设区域集中库,解决 MySQL 存量节点的整合问题,实现部署的标准化、按需扩展和统一运维管理。…

linux:du和df区别

文章目录 1. 概述2. du 命令2. df 命令3. 区别总结 1. 概述 du 和 df 都是 Linux 系统中用于查看磁盘空间使用情况的命令,但它们的功能和用法有所不同。 2. du 命令 du 是 “disk usage” 的缩写,用于显示文件或目录的磁盘使用情况。du 命令用于查看指…

基于SSM框架实现的在线心理评测与咨询系统(技术栈 spring+springmvc+mybatis+jsp+jquery+css)

一、项目简介 本项目是一套基于SSM框架实现的在线心理评测与咨询系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试&am…

二、企业级架构之Nginx

一、Nginx的重装与升级 1、为什么需要重装与升级: 在实际业务场景中,需要使用软件新版本的功能、特性,就需要对原有软件进行升级或者重装操作。 Nginx:1.12版本 → 1.16版本 2、Nginx重装: 第一步:停止…

武汉星起航:打造亚马逊一站式孵化平台引领电商新风潮

2020年正式成立后,武汉星起航持续深耕亚马逊自营店铺运营,不断拓展跨境电商业务。公司凭借专业运营团队和多年经验为合作伙伴提供深入合作模式,迅速崭露头角。推出亚马逊一站式孵化平台,为卖家提供全方位支持,彰显了公…

(已解决)引入本地bootstrap无效,bootstrap和jquery的引入

问题&#xff1a; 首先我是跟着张天宇老师下载的bootstrap文件&#xff0c;新建了一个css文件夹&#xff0c;但是这样子<link rel"stylesheet" type"text/css" src"./css/bootstrap.css">在index.html引入没有用。 解决办法: 1.把建立的…

免费在线搜索人名、电话号码、个人信息、定位、联系信息以及地址的开源网站

免费在线搜索人名、电话号码、个人信息、定位、联系信息以及地址的开源网站。 为大家推荐开源搜索电话号码及地址的网页。这些网站不仅提供了免费查找人员、电话号码、地址、区号、邮政编码和邮政编码的功能&#xff0c;还允许进行反向搜索&#xff0c;即通过输入电话号码找到…

蓝桥杯第十三届省赛C++B组(未完)

目录 刷题统计 修剪灌木 X进制减法 【前缀和双指针】统计子矩阵 【DP】积木画 【图DFS】扫雷 李白打酒加强版 DFS (通过64%&#xff0c;ACwing 3/11&#xff09;; DFS(AC) DP&#xff08;AC&#xff09; 砍竹子(X) 刷题统计 题目描述 小明决定从下周一开始努力刷题准…