Maven 每个生命周期中都包含着一系列的阶段(phase),这些phase就相当于Maven提供的统一的接口,然后这些phase的实现由Maven的插件来完成。所以说Maven生命周期的每一个阶段的具体实现都是由Maven插件实现的。
Maven实际上是一个依赖插件执行的框架,每个任务上是由插件完成。Maven插件通常被用来:
- 创建jar文件
- 创建war文件
- 编译代码文件
- 代码单元测试
- 创建工程文档
- 创建工程报告
插件类型
Maven提供了两种类型的插件:
- Build plugins:在构建时执行,并在pom.xml的元素中配置。
- reporting plugins:在网站生成过程中执行,并在pom.xml的元素中配置。
常用插件:
- clean:构建之后清理目标文件。删除目标目录。
- compiler:编译Java源文件。
- surefile:运行JUnit单元测试。创建测试报告。
- jar:从当前工程中构建JAR文件。
- war:从当前工程中构建WAR文件。
- javadoc:为工程生成Javadoc。
- antrun:从构建过程的任意一个阶段中运行一个ant任务的集合。
插件实例(在pom.xml中project元素中添加):
<build> <finalName>Customers</finalName> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> </build>
posted on
浙公网安备 33010602011771号