当前位置: 首页 > java >正文

pom.xml 标签整理各个标签的用途和含义

Spring boot 项目 pom.xml 标签整理

  1. parent
<parent><!--这是Spring Boot的父级依赖。spring-boot-starter-parent 是一个特殊的starter,它用来提供相关的Maven默认依赖。 使用它之后,常用的包依赖可以省去version标签。同样也可以引用自己创建的父类的pom 文件--><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><!--springboot的版本号 --><version>2.7.7-SNAPSHOT</version><!--查找顺序:relativePath元素中的地址–本地仓库–远程仓库,设定一个空值将始终从仓库中获取,不从本地路径获取--><!-- 查找顺序优先从父类中获取相关元素 如 相同版本的jar 默认路径 当前目的上一层级目录寻找pom 文件 或者指定特定目录 ../pom.xml--><relativePath/> <!-- lookup parent from repository --></parent>
  1. 项目的基础标签
 	 <!-- 指定当前POM  模型版本,对于 Maven 2 和 3,几乎总是 4.0.0--><modelVersion>4.0.0</modelVersion><!--  是公司项目组唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构  --><groupId>com.cn.hlm</groupId><!--    模块的唯一的标识符,--><artifactId>app</artifactId><!--    当前版本号--><version>0.0.1-SNAPSHOT</version><!--    项目的名称--><name>app</name><!--  项目主页的URL,或者 开发团队官方地址 ,非必要  --><url>http://www.baidu.com/banseon</url><!--  项目的详细描述   --><description>Demo project for Spring Boot</description><!-- 项目的打包方式 --><packaging>jar</packaging>
  1. properties 占位符 使用 ${key}
  <!--充当占位符来使用 ${key} 使其版本统一 修改版本号 修改一处旧可以><properties><!-- 1. 自定义任意属性 --><my.property>value</my.property><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>11</java.version><!-- 2. 常用:统一管理依赖版本 --><spring-boot.version>2.7.0</spring-boot.version><junit.version>5.8.2</junit.version><!-- 3. 自定义路径或其他配置 --><resources.dir>src/main/resources</resources.dir></properties>
  1. dependencies 声明项目所依赖的所有外部库jar
  <dependencies><!-- 声明一个依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><!-- 声明另一个依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.7.0</version></dependency></dependencies>
  1. dependency 中的 exclusions 元素
  <!-- 发现jar包冲突,于是使用exclusion排除jar包--><!-- 在引用的jar	包中去除冲突的包 在下面单独引用 来解决 	jar 冲突<dependency><groupId>xx</groupId><artifactId>xxx</artifactId><version>2.0</version><exclusions><exclusion><groupId>xxx</groupId><artifactId>xxx</artifactId></exclusion></exclusions></dependency>
  1. packagingExcludes 移除 war包中引用或者排除特定文件
  <!-- 移除 war/jar包中引用或者排除特定文件 可以单个移除可以,使用通配符--><build><plugins><plugin><artifactId>maven-war-plugin</artifactId><version>3.2.3</version><configuration><packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes></configuration></plugin></plugins></build>

看连接 maven 管理
6. project build 基础配置 (Basic Configuration) 元素

  <!--当你在命令行中只输入 mvn 而没有指定任何目标(goal)或阶段(phase)时,Maven 默认执行的构建目标--><defaultGoal>clean install</defaultGoal><!—指定构建输出目录的根路径。默认为 ${basedir}/target。所有编译的类文件、打包的 JAR/WAR 等都会放在这个目录下—><directory>${project.basedir}/build</directory><!—指定最终生成的主构件(Primary Artifact)的文件名(不包含扩展名)。扩展名由 <packaging> 类型决定,默认值:${artifactId}-${version}—><finalName>${project.artifactId}</finalName>
  1. prerequisites
 	<!--描述了这个项目构建环境中的前提条件。--><prerequisites><!--构建该项目或使用该插件所需要的Maven的最低版本--><maven>3.0.5</maven></prerequisites><!-- 现在已经弃用了 通过 maven-enforcer-plugin 来实现 参考build 元素--><!-- 弃用原因 父类使用该标签 子类不会被强制性继承和检验-->
http://www.xdnf.cn/news/18660.html

相关文章:

  • 复杂场景鲁棒性突破!陌讯自适应融合算法在厂区越界检测的实战优化​
  • 57 C++ 现代C++编程艺术6-类的内部类
  • DBeaver连接SQL Server集成认证问题解决方案
  • 题解:P13822 「Diligent-OI R2 B」白露为霜_奇偶性_数学归纳_算法竞赛C++
  • 将C++资源管理测试框架整合到GitLab CI/CD的完整实践指南
  • ffmpeg 问答系列-> mux 部分
  • C6.1:发射极偏置放大器
  • 阿里 通义千问 Java23种设计模式
  • IDM 下载失败排查指南:全面解析与解决方案
  • 深入解析 std::enable_if:原理、用法与现代 C++ 实践
  • 编程与数学 02-017 Python 面向对象编程 20课题、迭代器模式
  • 大数据毕业设计选题推荐-基于大数据的丙型肝炎患者数据可视化分析系统-Hadoop-Spark-数据可视化-BigData
  • 深入解析十大经典排序算法原理与实现
  • 室联人形机器人:家政服务任务结构化、技术要点、深入应用FPGA的控制系统框架设计(整合版A)
  • 【运维进阶】高可用和负载均衡技术
  • Django的Serializers与 fastapi 的Pydantic
  • 【R语言】R语言中 rbind() 与 merge() 的区别详解
  • 网络编程-创建TCP协议服务器
  • 疏老师-python训练营-Day54Inception网络及其思考
  • 屏幕类型与信号接口
  • 【KO】前端面试一
  • LLaMA-Factory 中配置文件或命令行里各个参数的含义
  • 如何利用 DeepSeek 提升工作效率
  • 10.Shell脚本修炼手册---脚本的条件测试与比较
  • 国家自然科学基金(国自然基金)申请技巧详解
  • 深度学习入门:神经网络
  • 【2025CVPR-目标检测方向】UniMamba:基于激光雷达的3D目标检测,采用分组高效曼巴语进行统一空间信道表示学习
  • Q/DR/CX7.2-2020 是中国企业标准体系中
  • 一个备份、去除、新增k8s的node标签脚本
  • `strdup` 字符串复制函数