一、.插件目标
插件以独立的构件构件形式存在,为了能够利用代码,一个插件往往能够完成不能任务的多个功能。每个功能就是就是一个插件目录。
二、.插件绑定
Maven的生命周期和插件相互绑定,用以完成实际的构建任务。准确的说,是生命周期的阶段和插件的目标相互绑定。
1.内置绑定
为了让用户不使用任何配置就能构建Maven项目,Maven在核心为一些主要的生命周期阶段绑定了插件目标。
其中clean和site的生命周期绑定的插件都比较简单直接。唯有default各种阶段绑定的插件和项目的打包类型有关。
2.自定义绑定
用户可以自己选择将插件目标绑定到某个阶段上。如创建项目源码的jar包,用户需要自行配置绑定。代码如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven=source-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>
jar-no-fork
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
executions下execution用来配置执行一个任务。该例中配置了一个id为attach-sources的任务,通过phase配置,将其绑定到verify阶段,再通过goals配置要执行插件目标。
有时不通过phase元素指定生命周期的阶段,插件目标也能够绑定到生命周期中。原因是有很多插件的目标在编写时已定义了默认绑定阶段。
如果多个目标被绑定到阶段,按照目标的声明顺序执行。
三.插件配置
可通过配置一些参数来改变插件的行为。
1.命令行插件配置
在Maven命令中使用-D参数,并伴随着一个“参数键=参数值”。如:
mvn install -Dmaven.test.skip=true maven-surefire-plugin的maven.test.skip为true时,会跳过测试。参数-D是Java自带的。
2.POM中插件全局配置
并不是所有插件参数都适合通过命令行设置。有些参数从项目创建到项目发布很少改变,针对这种情况,在POM文件中配置参数更方便。
用户可能声明插件时,对此插件进行一个全局配置。例如,我们通常会配置maven-compile-plugin告诉按JAVA 1.5版本进行编译:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compile-plugins</artifactId>
<version>2.1</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
3.POM中插件任务配置
除了可为整个插件配置全局参数,还可为某个插件任务配置特定的参数。以maven-antrun-plugin为例。它有一个目标,可用来在Maven中调用ant任务。用户将maven-antrun-plugin:rrun绑定到多个生命周期的阶段上,再加上不同的配置,就可让Maven在不同的生命阶段执行不同的任务。如:
<executions>
<execution>
<id>ant-validate</id>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>I'm bound to validate phase</echo>
</tasks>
</configuration>
</execution>
<execution>
<id>ant-verify</id>
<phase>verify</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>I'm bound to verify phase</echo>
</tasks>
</configuration>
</execution>
</executions>
四.获取插件信息
1.在线插件信息
可从官方网站获取插件的帮助信息。
2.使用maven-help-plugin
mvn help:describe -Dplugin=org.apache.maven.plugins:maven-compile-plugins:2.1
其中的版本信息可省略;
也可使用插件的目标前缀替换坐标,如:
mvn help:describe -Dplugin=compiler
如果仅想获取某个目标的信息,可加上goal参数:
mvn help:describe -Dplugin=compiler -Dgoal=compile
五.从命令行调用插件
mvn -h 获取mvn使用帮助
可使用“插件前缀:gloa”或"groupid:artifactid:version:goal"
六.插件解析机制
1.插件仓库
插件仓库使用pluginRepositories和pluginRepositorie来配置,除了标签名不一样,其他的和普通的远程仓库没有区别。
2.插件默认groupId
在POM中配置插件时,如果该插件是Maven的官方插件(即groupId是org.apache.maven.plugins),可省略groupId配置。
3.解析插件版本
如果没有指定插件的版本,默认使用release版本,也就是最新的发布版。
4.解析插件前缀
插件前缀和groupid:artifactId是一一对应的。这种对应关系保存在插件仓库的元数据中。这个元数据位于groupId/maven-metadata.xml中。由于大多数插件来自特定的地方,Maven默认使用org.apahce.maven.plugins和org.codehaus.mojo两个groupId中的元数据。可通过配置setting.xml,让Maven检查其他groupid上的元数据。如:
<settings>
<pluginGroups>
<pluginGroup>
com.your.plugins
</pluginGroup>
</pluginGroups>
</settings>
分享到:
相关推荐
现在eclipse的社区版都不内置maven插件了,站点在线安装实在是太痛苦了(我装了6个小时),于是急于寻找一种离线安装的办法,可是在网上又找不到对应的m2e包(我用的eclipse4.7),于是我决定将站点下的文件(很多)...
然而,在某些网络环境不佳的情况下,Eclipse可能无法通过内置的更新机制在线安装Maven插件。本文将详细介绍如何在Eclipse中离线安装Maven插件,以及如何配置Windows环境来确保Maven的正常工作。 首先,我们需要在...
5. **配置Maven插件**: 在Jenkins中配置Maven插件,你需要提供Maven的安装路径,以便Jenkins在构建过程中调用Maven。这可以在Jenkins全局工具配置中完成,也可以在每个具体的Maven项目配置中设置。 6. **使用Maven...
本篇文章将详细解析如何在Eclipse中离线安装Maven插件,同时提供内附的Maven插件包,以解决在线安装过程中的速度问题和可能遇到的错误。 首先,我们需要准备的是Maven的安装。Maven是Apache开源的一个项目管理工具...
Eclipse的Maven插件是开发Java项目时不可或缺的工具,它将强大的Maven构建系统与流行的Eclipse集成开发环境(IDE)相结合,为开发者提供了一站式解决方案。Maven是一个项目管理和综合工具,它通过定义项目的结构和...
**MyEclipse 6.5 Maven插件详解** 在软件开发过程中,MyEclipse作为一款强大的Java集成开发环境,提供了对多种技术的支持,包括但不限于Java、JSP、Servlet、Struts、Spring等。而在Java企业级开发中,Maven作为...
MyEclipse集成Maven插件,使得在MyEclipse中使用Maven变得更加便捷。 1. Maven简介: Maven是Apache软件基金会的一个项目,它提供了一个项目管理和综合工具。Maven通过一个项目对象模型(Project Object Model,...
在Eclipse中集成Maven插件,可以使得开发者在IDE内就能方便地进行Maven相关的操作,如编译、测试、打包等。本篇文章将详细介绍如何在Eclipse中离线安装Maven插件,并配置自定义的本地仓库路径。 首先,我们需要了解...
然而,早期版本的Eclipse并未内置Maven支持,因此需要用户自行安装Maven插件来实现对Maven项目的集成管理。本教程将详细介绍如何在低版本的Eclipse中安装和配置Maven插件。 首先,我们需要了解为何要在Eclipse中...
本文将详细讲解如何在Jenkins中安装Git和Maven插件,以便实现版本控制与构建管理。 首先,让我们了解Jenkins插件的作用。Jenkins通过插件扩展其功能,提供对各种工具和技术的支持。Git插件允许Jenkins与Git仓库进行...
然而,有时候Maven的内置插件无法满足特定的需求,这时就需要自定义Maven插件来扩展其功能。本篇文章将深入探讨如何实现自定义的Maven插件。 首先,了解Maven插件的基本结构至关重要。一个Maven插件通常由一组Mojo...
Eclipse作为流行的Java集成开发环境(IDE),通过安装Maven插件,可以让开发者在Eclipse内部方便地进行Maven项目的开发和管理。下面我们将详细介绍如何在Eclipse中安装Maven插件。 首先,我们需要知道为什么要在...
** Maven 插件压缩包详解 ** Maven 是一个强大的项目管理工具,广泛应用于Java开发领域,它通过一套规范化的构建过程,使得项目的构建、依赖管理和部署变得更加简单。Maven 插件是 Maven 生态系统的重要组成部分,...
本话题将深入探讨“Maven插件手动下载”的过程及相关知识点。 Maven插件是Maven生态系统中的关键组成部分,它们提供了执行特定构建任务的能力,如编译源代码、打包项目、运行测试等。Maven中央仓库是默认的插件和...
Maven插件是实现特定构建任务的可插拔组件,如编译代码(maven-compiler-plugin)、打包应用(maven-jar-plugin)或运行单元测试(maven-surefire-plugin)。开发者可以根据需要选择和配置相应的插件,以实现特定的...
在Eclipse中安装Maven插件,可以方便开发者在IDE内进行Maven项目的操作,解决无法用Maven Pom editor打开pom.xml文件的问题。以下是对这个主题的详细说明: 1. **Maven Pom Editor**: Maven的pom.xml文件是项目...