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

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.dtcms.com/a/348820.html

相关文章:

  • 蓝凌EKP产品:从 XML 到 JSON ——表单存储的性能优化实践
  • 前端漏洞(上)- CSRF漏洞
  • 强光干扰下误检率↓79%!陌讯动态决策算法在安全带检测的实战优化
  • Redis详解--基本篇
  • Linux 的 TCP 网络编程常用API
  • 网络流量分析——使用捕获和显示过滤器查询网络流量
  • 每天自动备份oracle
  • 关于熵减 - 力学单位和来源
  • 安装gitlab
  • C++ AOV 拓扑排序
  • pyecharts可视化图表-scatter:从入门到精通
  • 2020/12 JLPT听力原文 问题二 5番
  • 【网络运维】Shell 脚本编程:case 条件语句
  • 【大语言模型 18】Vision Transformer革命解析:图像理解的范式突破与架构创新
  • VsCode使用SFTP连接Linux
  • 油雾干扰下误报率↓76%!陌讯动态感知算法在卸油作业安全识别中的实战突破
  • Java:HashSet的使用
  • 【MySQL】CRUD基础详解
  • 基于 Redis + JWT 的跨系统身份共享方案
  • HTTP数据之旅:一个网络请求的完整冒险
  • Unity的Cursor.lockState
  • 油雾环境下漏检率↓79%!陌讯多模态检测算法在加油站智能巡检的落地实践
  • VMware Workstation 不可恢复错误:(vcpu-0)
  • 强反射场景漏检率↓89%!陌讯动态感知算法在护目镜合规检测的实战解析
  • 二叉树学习笔记
  • MyBatis 和 MyBatis-Plus对比
  • 【GEE+Python 实战】用 Sentinel-2 监测 2024 年研究区 NDVI 变化(附完整源码与避坑指南)
  • 深入解析十大经典排序算法原理与实现
  • 理想汽车智驾方案介绍 2|MindVLA 方案详解
  • Java 编译器的世界:前端、JIT 与 AOT 的秘密:详解 Java 的编译过程与编译器生态