Maven浅谈

468 阅读2分钟

本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

一、maven pom 文件相关知识

1. pom是什么

  • pom代表了工程对象模型。它是使用maven工作的基本组建,是一个xml文件。它被放在工程根目录下,文件被命名为pom.xml。
  • pom包含了关于工程和各种配置的细节信息,Maven使用这些信息构建工程。
  • pom也包含了目标和插件。当执行一个任务或者目标时,maven会查找当时目录下的POM,从其中读取所需要的配置信息,然后执行目标。

2. pom的一些配置

  • project dependencies
  • plugns
  • goals
  • build profiles
  • project version
  • developers
  • mailing list

3. pom实例

<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>com.companyname.project-group</groupId>
<artifactId>project</artifactId>
<version>1.0</version>

</project>

*工程的唯一标识由工程组(groupId),名称(artifactId),版本(version)构成

4. pom文件注意点

  • pom文件需要project元素和三个必须字段 groupId,artifactId,version
  • 在仓库钟工程的标识为 groupId:artifactId:version
  • POM.xml的根元素是project
节点描述
groupId工程组的标识。它在一个组织或者项目中通常是唯一的
artifactId工程的标识。它通常是工程的名称。
version工程版本号。用来区分版本

5. Super POM

  • 所有的POM都继承自一个父POM。父POM也称作Super POM。包含一些可以被继承的默认设置。
  • maven使用effective pom(super POM加上工程自身的配置)来执行相关目标。
  • 查看super POM 使用命令: mvn help:effective-pom
二、maven构建生命周期
阶段处理描述
prepare-resource资源拷贝自定义需要拷贝的资源
compile编译源代码编译
package打包根据pom.xml中描述的打包配置创建JAR/WAR包
install安装在本地/远程仓库中安装工程包
maven标准生命周期 clean,default(or build),site
三、maven仓库

本地仓库 中央仓库 远程仓库

1. 本地仓库

本地机器上的一个文件夹。安装时默认指定%USER_HOME%目录下

2.中央仓库

地址:search.maven.org/ 中央仓库即maven社区提供的仓库,包含大量常用的库。

3. 远程仓库

开发者自定义的仓库。存放开发者自定义的代码。

maven依赖搜索顺序:1.本地仓库 2.中央仓库 3.配置的远程仓库

四、maven插件

插件执行:

  mvn [plugin-name]:[goal-name]
  例如: mvn compiler:compile

1. 插件类型

maven提供了两种类型的插件(在pom.xml的元素中配置):

  • (1) Build plugins 在构建时执行
  • (2)Reporting plugins 在网络生成过程中执行

2. 常用插件

插件描述
clean构建之后清理目标文件。删除目标目录
compiler编译java源文件
surefile运行Junit单元测试,创建测试报告
jar构建JAR文件
war构建WAR文件
javadoc生成javadoc文档
antrun从构建过程的任意一个阶段中运行一个ant任务集合