<?xml version="1.0" encoding="UTF-8"?>
<!--声明用的xml版本是1.0,
声明用xml传输数据的时候的字符编码,假如文档里面有中文,编码方式不是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">
<modelVersion>4.0.0</modelVersion>
<!--指定了当前Maven模型的版本号,对于Maven2和Maven3来说,它只能是4.0.0-->
<groupId>com.situ</groupId>
<artifactId>imall</artifactId>
<version>1.0-SNAPSHOT</version>
<!--版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本。
在Maven中很重要的一点是,groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标-->
<!--GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
-->
<modules>
<module>imall-common</module>
<!--在这里建立完imall-common的时候,这个地方就变成黑色的了,也就是做在imall里面又建了一个新的moudle,这个底下有四个moudle-->
<module>imall-portal</module>
<module>imall-admin</module>
<module>imall-mbg</module>
</modules>
<!--这是一个聚合项目pom,在最外层。一共有三种项目jar、war、pom-->
<!--
1. 父工程和子工程两者的关系其实就是父子继承的关系
子工程在maven里称之为模块(module),模块之间是平级,是可以相互依赖的。
2. 子模块可以使用顶级工程里所有的资源(依赖),子模块之间如果要使用资源,必须构建依赖(构建关系)
3. 一个顶级工程是可以由多个不同的子工程共同组合而成。
-->
<packaging>pom</packaging>
<!-- 这是一个父项目,是个聚合项目,下面有很多子项目,指定的是pom包,这个packaging,默认是jar包-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<!--是用来编译源码和打包的,通常它们的版本等于系统JDK的大版本,如11,9,8...;
如果不能控制客户机的jdk,而想让包的适用性更广的话,可以手动降低版本号,比如如从11降到8;
如此做了后,在别的机器上运行自己的jar,就不会爆jdk版本低的错误。
举例来说,我之前使用11打了个jar包ÿ
maven项目里面的pom.xml里面的各种东西,里面的各种依赖,里面的jar包管理
于 2023-05-04 11:56:49 首次发布