- modelVersion:Maven 模型的版本,对于 Maven2 和 Maven3 来说, 它只能是 4.0.0。
- groupId :组织 id。
- artifactId : 项目名称, 也是模块名称,对应 groupId 中 项目中的 子项目。
- version : 项目的版本号。如果项目还在开发中,是不稳定版本, 通常在版本后带-SNAPSHOT。version 使用三位数字标识,例如 1.1.0。
groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标,在众多的maven项目中可以唯一定位到某一项目。坐标也决定着将来项目在仓库中的路径及名称。
- packaging :项目打包的类型,可以使 jar、war、rar、ear、pom,默认是 jar。
- dependencies和dependency : Maven 的一个重要作用就是管理 jar 包,为了一个项目可以构建或运行,项目中不可避免的,会依赖很多其他的 jar 包,在 Maven 中,这些 jar 就被称为依赖,使用标签 dependency 来配置。而这种依赖的配置正是通过坐标来定位的,由此我们也不难看出,maven 把所有的 jar 包也都视为项目存在了。
- properties : properties是用来定义一些配置属性的 ,例如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于日后统一升级。
- build : build 表示与构建相关的配置,例如设置编译插件的 jdk 版本。
- parent : 在 Maven 中,如果多个模块都需要声明相同的配置,例如:groupId、version、有相同的依赖、或者相同的组件配置等,也有类似 Java 的继承机制,用 parent 声明要继承的父工程的 pom 配置。
- modules : 在 Maven 的多模块开发中,为了统一构建整个项目的所有模块,可以提供一个额外的模块,该模块打包方式为 pom,并且在其中使用 modules 聚合的其它模块,这样通过本模块就可以一键自动识别模块间的依赖关系来构建所有模块,叫 Maven 的聚合。
<?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">
<modelVersion>4.0.0</modelVersion>
<!--坐标 -->
<groupId>公司域名的倒写</groupId>
<artifactId>自定义项目名称</artifactId>
<version>自定版本号</version>
<!--属性配置,这里是配置编译的JDK编译和运行版本 -->
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!--依赖 java代码中 import,使用某些包时需要在这里声明 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies>