<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- pom模型版本 --><modelVersion>4.0.0</modelVersion><!-- 项目信息 --><groupId>demo</groupId><!-- 项目唯一标识 --><artifactId>springboot</artifactId><!-- 项目名 --><version>0.0.1-SNAPSHOT</version><!-- 版本 --><packaging>jar</packaging><!-- 打包方式 (pom,war,jar) --><name>springboot</name><!-- 项目的名称, Maven 产生的文档用 --><description>Demo project for Spring Boot</description><!-- 项目的描述, Maven 产生的文档用 --><!-- 父级项目 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.7.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><!-- 属性设置 --><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 编译字符编码为utf-8 --><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><!-- 输出字符编码为UTF-8  --><java.version>1.8</java.version><!-- jdK版本 --></properties><!-- 依赖关系 --><dependencies><!-- 测试 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- springmvc --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- jpa(持久层) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><!-- mysql(数据库) --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency></dependencies><!-- 编译 --><build><!-- 插件 --><plugins><!-- maven插件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

原文:SpringBoot pom.xml配置文件详解_灰的博客-CSDN博客

1、pom文件中有pom、jar、war三种打包方式,其中pom打包方式可以作为其他项目的maven依赖,构建maven项目时可用在父级工程或者聚合工程中,用来做jar包的版本控制。而jar打包方式则是一般springboot中普通工程常用的方式,是将整个工程打成jar包,方便其他工程做依赖或者进行部署。war打包方式则是javaweb常用的一种打包方式。

2、<groupId>是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。而<artifactId>是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。

一般groupId分为多段,开头是域,比如org、com、cn等,接着是公司名称

3、<properties>中一般是一些版本控制参数,如果是个聚合工程或者父工程的话,这里通常会放置所有会用到的jar包的版本参数,这样方便子工程来继承使用,不需要在额外再写版本

4、<dependencyManagement>和<dependencies> 前者是应用在父工程中的,用来做jar包的版本控制,其中的依赖并不会自动注入,只是声明而已,同样子工程中也不会默认继承<dependencyManagement>中的依赖,需要单独的写出。后者中的依赖则是会自动注入,且会被子工程继承。同时,如果<dependencies>中的依赖没有标明版本,maven则会向父工程中去从<dependencyManagement>中查找版本号,如果父工程中没有,则会报错。

所以当父工程中已经有了<dependencyManagement>后,子工程中只需要在<dependencies>中写出依赖的<groupId>和<artifactId>,不需要声明版本,除非子工程中要使用和父工程中不同的版本号。

springboot中的pom文件详解相关推荐

  1. Maven中pom文件详解

    在IDE中使用Maven IDE工具 MyEclipse 集成maven插件 Eclipse ​ Eclipse For Java EE IDEA 集成Maven插件 在IDE中 配置Maven 指定 ...

  2. java中pom文件详解

    目录 一.maven项目的目录结构 二.根元素和必要配置 三.父项目和parent元素 四.项目构建需要的信息 1.路径管理 2.资源管理 3.插件管理 4.构建扩展 5.其他配置 五.项目依赖相关信 ...

  3. SpringBoot入门及YML文件详解

    SpringBoot 简介 微框架,与 Spring4 一起诞生,基于约定.生来为了简化 spring 的配置 优点 可以快速的上手,整合了一些子项目(开源框架或者第三方开源库) 可以依赖很少的配置快 ...

  4. Android中R.java文件详解

    R.java文件有两种,两种文件作用一样都是获取资源的引用,区别在于一个存放着我们写的项目中资源的引用,另一个存放着系统定义好的一些资源 1.1 项目的R.java文件 先说第一种是项目编译出来的R. ...

  5. maven(二)pom文件详解

    文章目录 1. 什么是pom 文件? 2. pom文件各常用属性含义 2.1 项目基本信息 2.2 build项目构建属性介绍 2.2.1 resources资源路径列表 2.2.2 plugins ...

  6. springboot中pom文件详解

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  7. tomcat中server.xml文件详解

    原文:http://www.cnblogs.com/starhu/p/5599773.html Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Ser ...

  8. 【转载】Maven pom文件详解

    什么是pom?     pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的 ...

  9. springboot中的pom文件 project报错问题

    问题如下: pom.xml在project标签处报错:Failedtoreadartifactdescriptorforxxx:jar 解决方案: 情况1:maven版本要和课程保持一致,网盘直接下载 ...

  10. Mybatis中Mapper映射文件详解(默认值)

    Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd.我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个屏: 从上图可以看出, ...

最新文章

  1. 【C 语言】数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )
  2. php member limit,PHPAPP注入第十枚(未过滤)
  3. EBS默认的登录账户和密码
  4. Python: 反方向迭代一个序列
  5. sql查询字段的值不为空
  6. Arduino的串口结束符及串口缓冲区
  7. Oracle补历史数据存储过程,Oracle数据库数据丢失恢复的几种方法总结
  8. CCF201409-3 字符串匹配(解法二)(100分)(废除!!!)
  9. qscoj:喵哈哈村的狼人杀大战(5)
  10. 【转】VS2008 入门基本操作
  11. 饿了么api接口 php,饿了么接口:php
  12. Linpack安装测试流程记录
  13. 计算机工程中级职称怎么考,以前中级职称是要考什么计算机-计算机软考中级职称哪个好考...
  14. Vue中base64编码和解码
  15. MySQL关系型数据库
  16. Landsat系列数据级别详解
  17. 随机变量的相关性与独立性
  18. 方案设计阶段目标成本形成过程
  19. 游戏建模师日常工作内容包括哪些?
  20. 【全国数据】最新全国POI数据大全下载

热门文章

  1. 使用Java根据约定格式生成Oracle建表语句
  2. c# gerber文件读取_Gerber文件查看方法
  3. 如何写一份优秀的java程序员简历
  4. 创建三维零件的DH坐标系
  5. XML语言以及DTD的详解(方立勋javaweb)
  6. 英语听力学习方法,转自一牛人的博客
  7. Palo Alto Networks 升级Traps高级终端防护产品 提升终端安全防护水平
  8. html实现点击直接下载文件-前端教程
  9. MySQL 5.7 参考手册(官方中文版) | 2.2 安装和升级MySQL
  10. Java之JDBC安装、使用详解(2021最新!)