003_Maven插件

1. Maven有以下三个标准的生命周期:

1.1. clean: 项目清理的处理。

1.2. default(或build): 项目部署的处理。

1.3. site: 项目站点文档创建的处理。

2. 每个生命周期中都包含着一系列的阶段(phase)。这些phase就相当于Maven提供的统一的接口, 然后这些phase的实现由Maven的插件来完成。

3. 我们在输入mvn命令的时候,  比如: mvn clean, clean对应的就是Clean生命周期中的clean阶段。但是clean的具体操作是由maven-clean-plugin来实现的。

4. 所以说Maven生命周期的每一个阶段的具体实现都是由Maven插件实现的。Maven实际上是一个依赖插件执行的框架, 每个任务实际上是由插件完成。

5. Maven插件通常被用来:

5.1. 创建jar文件。

5.2. 创建war文件。

5.3. 编译代码文件。

5.4. 代码单元测试。

5.5. 创建工程文档。

5.6. 创建工程报告。

6. Maven提供了下面两种类型的插件:

7. Maven一些常用插件的列表: 

8. 把maven-antrun-plugin插件添加到Clean生命周期的各个阶段

8.1. 我们将maven-antrun-plugin:run目标添加到pre-clean、clean和post-clean阶段中。这样我们可以在clean生命周期的各个阶段显示文本信息。

8.2. 修改MavenWeb工程的pom.xml文件

<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>
	<!-- 公司或者组织的唯一标志, 并且配置时生成的路径也使用它, 如: com.bjbs, maven会将该项目打成的jar或war包放本地路径: /com/bjbs -->
	<groupId>com.bjbs</groupId>
	<!-- 这是工程的标识 -->
	<artifactId>MavenWeb</artifactId>
	<!-- 工程的版本号 -->
	<version>0.0.1-SNAPSHOT</version>

	<packaging>war</packaging>

	<dependencies>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.0</version>
			<scope>provided</scope>
		</dependency>
		<!-- https://mvnrepository.com/artifact/junit/junit -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.13.2</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.1</version>
				<executions>
					<execution>
						<id>id.pre-clean</id>
						<phase>pre-clean</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo>pre-clean phase</echo>
							</tasks>
						</configuration>
					</execution>
					<execution>
						<id>id.clean</id>
						<phase>clean</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo>clean phase</echo>
							</tasks>
						</configuration>
					</execution>
					<execution>
						<id>id.post-clean</id>
						<phase>post-clean</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo>post-clean phase</echo>
							</tasks>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

8.3. 在MavenWeb项目根目录下执行: mvn post-clean命令

8.4. 例子展示了以下关键概念

  • 插件是在pom.xml中使用plugins元素定义的。
  • 每个插件可以有多个目标。
  • 你可以定义阶段, 插件会使用它的phase元素开始处理。我们已经使用了pre-clean、 clean和post-clean阶段。
  • 你可以通过绑定到插件的目标的方式来配置要执行的任务。我们已经绑定了echo任务到maven-antrun-plugin的run目标。
  • 就是这样, Maven将处理剩下的事情。它将下载本地仓库中获取不到的插件, 并开始处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值