`
lizhensan
  • 浏览: 377208 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

maven 自定义插件

 
阅读更多

maven  所有的功能都是基于插件的。maven默认提供了很多插件,不过你也可以自己定义插件,来扩展maven。

1: 用maven-archetype-plugin 来创建一个插件项目。

   <packaging>maven-plugin</packaging>

    默认会创建一个例子。

 

/**
 * @goal touch
 */
public class MyMojo
    extends AbstractMojo
{
    public void execute()
        throws MojoExecutionException
    {
     getLog().info("==============rrrrrrrrrrrrrrrrrrrrrr=======================");
    }
}

  @goal touch  生命了这个插件的目标为:touch

 

 2:将这个插件install 安装到本地。


到目前为止,插件已经开发、部署好了。接下来就是如何调用。

调用有两种, 先说第一种。

直接调用该插件

需要构建的项目目录>mvn groupId  : artifactId :version :touch(目标)

第二种 把该插件放到生命周期中,在构建的过程中自动调用。

需要在构建的项目pom.xml中添加

<build>
  <plugins>
   <plugin>
    <groupId>插件的groupId</groupId>
    <artifactId>插件的artifactId</artifactId>
    <version>插件的version</version>
    <executions>
     <execution>
      <id>my-plugin-test</id>
      <phase>verify</phase>  绑定到生命周期的哪个阶段      

      <goals>
       <goal>touch</goal>      绑定的插件目标
      </goals>
     </execution>
    </executions>
   </plugin>
  </plugins>
 </build>

 

需要构建的项目目录>mvn clean install 

这样在intall这个项目的时候,刚才自定义的插件就直接运行了。

 

自定义插件涉及到了几个概念:

1:插件生命周期。

生命周期,有三套

clean default  site

clean 

pre-clean  clean post-clean

default(这里只写几个主要的)

validate  initialize  complie  test  package verify  install deploy

site

pre-site  site post-site

 

2:插件的目标。

声明这个插件有哪些功能(接口) 

 

 

分享到:
评论

相关推荐

    maven 自定义插件小示例

    本文将深入探讨“Maven自定义插件小示例”,以帮助开发者更好地理解和利用Maven的强大功能。 Maven插件是Maven生态系统中的一个重要组成部分,它们提供了各种各样的功能,如编译、测试、打包、部署等。有时,标准...

    Maven 自定义Zip插件

    这就是自定义插件,如自定义Zip插件发挥作用的地方。 创建自定义Zip插件涉及以下几个关键步骤: 1. **定义Mojo(Maven Goal)**:Mojo是Maven插件的基本执行单元,类似于一个Java方法。你需要定义一个新的Mojo,...

    自定义maven插件的实现

    - 在其他Maven项目中通过`&lt;build&gt;&lt;plugins&gt;`或`&lt;reporting&gt;&lt;plugins&gt;`标签引入自定义插件。 举例来说,`sogoucloud-maven-plugin`可能是一个为企业内部服务构建定制的Maven插件,它可能包含了上传代码到公司私有...

    apache-maven的插件包:apache-maven-3.3.9-bin.zip

    Apache Maven 是一个强大的项目管理和构建工具,广泛应用于...通过使用Maven的插件系统,开发者可以高效地完成各种任务,而无需编写自定义脚本。对于大型项目或团队协作来说,Maven的标准化和自动化特性是极其宝贵的。

    Maven自定义plugin

    Maven通过插件系统提供了丰富的功能,而“Maven自定义plugin”则是指开发者根据自身需求定制的Maven插件。这篇文章将深入探讨如何创建和使用自定义的Maven插件。 首先,理解Maven插件的工作原理至关重要。Maven插件...

    maven自定义插件 mvn install时报错 Error extracting plugin descriptor: ‘No mojo definitions wer e found for

    自定义一个插件,继承AbstractMojo,实现execute方法,引入该自定义插件,执行mvn install,报错 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor (default -...

    maven使用及自动发布

    有关maven的ppt资料,引入包,防止包之间的冲突,自动发布

    Maven build插件之Maven-assembly-plugin自定义打包

    Maven-assembly-plugin是maven中针对打包任务而提供的标准插件,可以实现自定义打包。主要提供如下功能: ● 提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。 ● 打包成指定格式分发包,...

    maven打包过程执行自定义插件包

    本篇文章将详细讲解如何在Maven打包过程中执行自定义插件包,以此来满足特定的项目需求。 首先,我们需要了解Maven的生命周期。Maven的生命周期分为三个阶段:clean(清理)、default(构建)和site(站点)。在...

    自定义maven插件:自动生成API的word文档源代码

    首先,Maven是一个广泛使用的Java项目管理工具,它提供了丰富的插件机制,允许开发者根据项目需求创建自定义插件。在这个场景下,我们创建了一个自定义的Maven插件,它的主要功能是根据用户提供的接口类和参数类信息...

    AndroidStudio自定义Gradle插件

    - `MyExtension`类:作为插件的配置对象,允许用户在`build.gradle`文件中自定义插件的行为。 - `build.gradle`(插件项目):配置插件的GAV信息,以及发布插件到Maven仓库的配置。 - `build.gradle`(应用项目):...

    springboot集成generator自定义插件.rar

    在这个"springboot集成generator自定义插件.rar"项目中,我们看到的重点是如何在Spring Boot项目中集成MyBatis Generator,并且自定义注释。这通常涉及到以下几个关键知识点: 1. **Spring Boot与MyBatis集成**:...

    eclipse-maven插件

    本篇文章将详细介绍如何在Eclipse中离线安装Maven插件,并配置自定义的本地仓库路径。 首先,我们需要了解Eclipse Maven插件的重要性。M2Eclipse(Maven Integration for Eclipse)是Eclipse中的一个插件,它允许...

    MavenHelper.zip

    4. **增强Maven命令**:MavenRunHelper作为压缩包中的主要文件,可能包含了增强Maven命令行执行的功能,例如自定义构建目标,快速执行常见的Maven命令等。 5. **集成到IDEA工作流**:MavenHelper插件无缝集成到IDEA...

    jenkins 离线安装maven插件集合jenkins-maven.zip

    通过指定POM文件(Project Object Model),Jenkins会自动执行`mvn clean install`或其他自定义的Maven目标,执行构建、测试和部署流程。 总结来说,离线安装Jenkins Maven插件是一项重要的操作,尤其在无网络的...

    maven helper插件

    7. **运行/调试配置**:插件还支持自定义运行和调试配置,允许开发者针对特定的Maven目标执行或调试,提高了工作效率。 8. **兼容性与集成**:maven helper插件无缝集成于IntelliJ IDEA,无需额外安装,且兼容各种...

    Maven常用插件整理.docx

    在Java开发领域,Maven是广泛使用的构建工具,它...综上所述,Maven的插件系统极大地增强了其灵活性和实用性,使得开发者能够根据项目需求自定义构建过程。正确配置和使用这些插件,能够确保项目构建高效且符合预期。

    maven插件的demo

    在提供的文件`demo-maven-plugin`中,很可能是包含了一个自定义的Maven插件实现,它展示了如何编写和使用自定义插件。自定义插件通常需要实现`Mojo`接口,这个接口是Maven插件目标的基础。`Mojo`代表了Maven的魔法...

    maven插件jar

    4. **自定义插件**:除了默认提供的插件,开发者还可以根据需要添加和配置第三方插件,扩展 Maven 的功能。这使得 Maven 能够处理更复杂的构建需求,如代码覆盖率报告、静态代码分析等。 5. **Eclipse 特性**:...

Global site tag (gtag.js) - Google Analytics