1、<modelVersion>4.0.0</modelVersion> 指定当前maven模型的版本号
4.0.0是因为对于maven2、maven3来说,设置4.0.0,因为在maven2,maven3中目前只有这一个模型。pom必须遵守一个模型。
2、<groupId>com.wgd</groupId>此标签是项目唯一标识符,实际对应的是Java的包结构,是main目录里Java的目录结构。(域名.公司名)
3、<artifactId>springboot</artifactId> 项目的唯一标识符,实际对应的是项目名,就是项目根目录的名称。
4、<version>1.0.0</version> 指定了项目的当前版本,如果后面跟的有SNAPSHOT意为快照, 说明该项目还处于开发中,是不稳定的版本。
5、<name>wgd</name> 声明了一个对于用户更为友好的项目名称,不是必须的。
6、<description>XXXX系统</description> 这是关于这个项目的描述。
7、<properties>
<java.version>1.8</java.version>
</properties> 集中管理jar包版本,进行自定义标签,在pom文件中使用具体如标签内部的方式。
8、<dependencyManagement></dependencyManagement> 只声明依赖,但是不会自动引入,因此子项目需要显示声明依赖。在之项目中声名了依赖项,且没有指定版本,就会从父项目中继承该依赖,且版本都是读取的父项目的。如果子项目指定版本号会使用子项目指定的版本。(常用于有子模块的项目中)
9、<dependencies></dependencies>所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。
10、
<dependency> 每个此标签对应一个引用的jar包
<groupId>org.springframework.boot</groupId> 此依赖包的公司或组织名称
<artifactId>spring-boot-dependencies</artifactId> 此依赖包的名称或标识
<version>${springboot.version}</version> 此依赖包的版本号
<type>pom</type> 该依赖包的类型,默认为jar
<scope>import</scope> 该依赖包的使用范围,
默认为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会达到包里去。
import 这个是maven2.0.9版本后出的属性,import只能在dependencyManagement的中使用,能解决maven单继承问题,import依赖关系实际上并不参与限制依赖关系的传递性。
</dependency>
11、<modules> 配置子模块
<module>spring_boot_admin</module> 子模块的名称
</modules>
12、<repositories></repositories>用来配置maven项目的远程仓库,他的下面可以添加多个<repository></repository>,每一个<repository>都有它唯一的ID,一个描述性的name,以及最重要的远程仓库地址。如下:
<repositories> 表示从什么库地址可以下载`项目依赖`的库文件,针对项目本身的依赖,通过repositories进行自定义配置。 <repository> <id>public</id> <name>aliyun nexus</name> <url>https://maven.aliyun.com/repository/public</url> <!-- 告诉Maven可以从这个仓库下载releases版本的构件 --> <releases> <enabled>true</enabled> </releases> <!-- 告诉Maven不要从这个仓库下载snapshot版本的构件,禁止从公共仓库下载snapshot构件是推荐的做法,因为这些构件不稳定,且不受你控制,你应该避免使用。当然,如果你想使用局域网内组织内部的仓库,你可以激活snapshot的支持 --> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
13、
<pluginRepositories> 表示`插件`从什么库地址下载针对的是maven命令需要的插件依赖地址(比如clean、install都是maven的插件), 通过rpluginRepositories进行自定义配置。 <pluginRepository> <id>public</id> <name>aliyun nexus</name> <url>https://maven.aliyun.com/repository/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories>