1.简介
pom作为项目对象模型。通过xmll表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要醉熏的规则,缺陷管理系统、组织和liceses,项目的url,项目的依赖性,以及其他所有的项目相关因素。
<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/maven-v4_0_0.xsd">
<!-- maven2.0必须是这样写,现在是maven2唯一支持的版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 基础设置 -->
<groupId>GWT1121</groupId>
<artifactId>maven01</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>maven01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!-- 构建设置 -->
<build>
<finalName>maven01</finalName>
</build>
</project>
基本内容:
POM包括了所有的项目信息
groupId:项目或者组织的唯一标志,并且配置时声称路径也是由此生成,如org.myproject.moji生成的相对路径为:/org/myproject/mojo
artifactId:项目的通用名称
version: 项目的版本
packaging: 打包机制,如pom,jar,maven-plugin,ejb,war,ear,rar,par
name:用户描述项目的名称,无关紧要的东西,可选
url: 应该是只是写明开发团队的网站,无关紧要,可选
classifer: 分类
其中groupId,artifactId,version,packaging这思想组成了项目的唯一坐标。一般情况下,前面三项就可以组成项目的唯一坐标了。
POM关系:主要为依赖,继承,合成
dependency里属性介绍:
type: 默认jar类型,常用的类型有:jar,ejb-client,test-jar...,可设置plugins中的extensions值为true后再增加新的类型,
scope:是用来指定当前包的依赖范围,maven的依赖范围
optional: 设置指依赖是否可选,默认为false,及自行木迷人都继承,为true,则子项目必须显示的引入,与dependencyManagement 里定义的依赖类似。
exclusions: 如果X需要A,A包含B依赖,那么X可以声明不要B依赖,只要在exclusions中声明exclusion.
exclusion: 是将B从依赖树中删除,如上配置,alibaba.apollo.webx不想使用com.alibaba.external,但是alibaba.apollo.webx是集成了com.alibaba.external,r所以就需要排除掉。
剩下的不写了,连接部分如下:https://www.cnblogs.com/qq78292959/p/3711501.html