Maven篇----08 pom.xml详解
1. 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><!-- maven的pom文件的版本 -->
<groupId>cn.lonecloud</groupId><!-- 创建该项目的开发者域名 -->
<artifactId>lonecloud</artifactId><!-- 创建指定项目的域名 -->
<version>0.0.1-SNAPSHOT</version><!-- 该项目的版本 -->
<packaging>jar</packaging><!-- 打包后的文件类型 -->
<name>lonecloud</name><!-- 描述项目的名字 -->
<url>http://lonecloud.cn</url><!-- 该项目的创建的网站 -->
<properties><!-- 参数的枚举 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>3.8.1</junit.version><!-- 可以自定义名字用于后期维护方便 -->
</properties>
<dependencies><!-- 依赖项 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<!-- 依赖关系 -->
<dependency>
<groupId>mysql</groupId><!-- 该项目的开发者的域名 -->
<artifactId>mysql-connector-java</artifactId><!-- 指定项目的域名 -->
<version>5.1.25</version><!-- 项目的版本 -->
<scope>test</scope>
<!-- 运行的生命周期 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:
* compile,缺省值,适用于所有阶段,会随着项目一起发布。 * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它 -->
</dependency>
</dependencies>
</project>
2. maven生命周期
在maven中定义了三种生命周期,分别为default lifecycle,clean lifecycle和site lifecycle.而第一种默认的生命周期是不需要与插件关联的,相对默认生命周期,则clean lifecycle和site lifecycle需要插件的支持。
default lifecycle
以下则是默认生命周期里按照构建的顺序列出了生命周期的各个环节,对于各个环节所表示的意思则可以从字面意思上很容易的理解:
1.validate
2.generate-sources
3.process-sources
4.generate-resources
5.process-resources
6.compile
7.process-classes
8.generate-test-sources
9.process-test-sources
10.generate-test-resources
11.process-test-resources
12.test-compile
13.test
14.prepare-package (maven 2.1+)
15.package
16.pre-integration-test
17.integration-test
18.post-integration-test
19.verify
20.install
21.deploy
clean lifecycle
此种生命周期中包含pre-clean,clean,post-clean三个环节。例如:
<phases>
<phase>pre-clean</phase>
<phase>clean</phase>
<phase>post-clean</phase>
</phases>
<default-phases>
<clean>
org.apache.maven.plugins:maven-clean-plugin:2.5:clean
</clean>
</default-phases>
site lifecycle
此种生命周期中包含pre-site,site,post-site,site-deploy四个环节,例如:
<phases>
<phase>pre-site</phase>
<phase>site</phase>
<phase>post-site</phase>
<phase>site-deploy</phase>
</phases>
<default-phases>
<site>
org.apache.maven.plugins:maven-site-plugin:3.3:site
</site>
<site-deploy>
org.apache.maven.plugins:maven-site-plugin:3.3:deploy
</site-deploy>
</default-phases>
【Quality】
Quality is the value to someone who matters。做测试,首先要找到这个someone是谁,以及这个 someone重视的 value是什么。