1、modelVersion:指定当前maven模型的版本号,pom必须遵守一个模型。4.0.0是对于maven2、maven3来说设置4.0.0,因为在maven2,maven3中目前只有这一个模型。
<!-- 指定当前maven模型的版本号-->
<modelVersion>4.0.0</modelVersion>
2、groupId:此标签是项目组织唯一的标识符,定义了项目属于哪个组。一般写法为 域名.公司名,实际对应JAVA的包的结构,是main目录里java的目录结构。
<groupId>com.wgd</groupId>
3、artifactId:此标签是是项目的唯一的标识符,定义了当前maven项目在组中唯一的ID,实际对应的是项目名,就是项目根目录的名称。
<artifactId>springboot</artifactId>
4、version:指定了项目的当前版本,如果后面跟的有SNAPSHOT意为快照, 说明该项目还处于开发中,是不稳定的版本。
<version>1.0.0</version>
5、name:声明了一个对于用户来说更为友好的项目名称,不是必须的。
<name>wgd</name>
6、description:是关于这个项目的描述。
<description>XXXX系统</description>
7、properties:属性配置,集中管理jar包版本,进行自定义标签。
<properties>
<java.version>1.8</java.version>
</properties>
8、dependencyManagement:只声明依赖,但是不会自动引入,因此子项目需要显示声明依赖。在子项目中声名了依赖项,且没有指定版本,就会从父项目中继承该依赖,且版本都是读取的父项目的。如果子项目指定版本号会使用子项目指定的版本(常用于有子模块的项目中)。
<dependencyManagement>
。。。
</dependencyManagement>
9、dependencies:所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。
<dependencies></dependencies>
10、dependency:每个此标签对应一个引用的jar包。
<dependency>
<!-- 此依赖包的公司或组织名称-->
<groupId>org.springframework.boot</groupId>
<!--此依赖包的名称或标识-->
<artifactId>spring-boot-dependencies</artifactId>
<!--此依赖包的版本号-->
<version>${springboot.version}</version>
<!--此依赖包的类型,默认为jar-->
<type>pom</type>
<!--此依赖包的使用范围,默认为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖,打包之时会打到包里去。-->
<!--import 这个是maven2.0.9版本后出的属性,import只能在dependencyManagement中使用,能解决maven依赖单继承问题,import依赖关系实际上并不参与限制依赖关系的传递性。-->
<scope>import</scope>
</dependency>
11、modules:配置子模块
<modules>
<!--子模块的名称-->
<module>spring_boot_admin</module>
</modules>
12、repositories:用来配置maven项目的远程仓库,他的下面可以添加多个
<!-- repositories:远程仓库,用于配置当前项目下载依赖的Maven远程仓库地址,希望在当前项目中使用独立的Maven远程仓库,只对当前Maven项目有效。 -->
<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)。
<!-- pluginRepositories:插件仓库,用于配置当前项目所用插件的远程仓库地址,针对的是maven命令需要的插件(比如clean、install)-->
<pluginRepositories>
<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>
14、build配置
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<!-- 在原始Maven打包形成的jar包基础上,进行重新打包,新形成的jar包不但包含应用类文件和配置文件,而且还会包含应用所依赖的jar包以及Springboot启动相关类(loader等),防止有些文件打包不进去。-->
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
标签:xml,项目,标签,boot,maven,pom,子项目,public
From: https://www.cnblogs.com/shigzh/p/17855325.html