`
Roger111
  • 浏览: 49789 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

maven插件java5注解工具

阅读更多

Mojo Javadoc Tags

import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Settings;

/**
 * Mojo Description: goal is the only required annotation.
 *
 * @goal <goalName>
 * @aggregator
 * @configurator <roleHint>
 * @execute phase="<phaseName>" lifecycle="<lifecycleId>" goal="<goalName>"
 * @executionStrategy <once-per-session|always>
 * @inheritByDefault <true|false>
 * @instantiationStrategy <per-lookup|singleton|keep-alive|poolable>
 * @phase <phaseName>
 * @requiresDependencyResolution <compile|runtime|compile+runtime|test>
 * @requiresDependencyCollection <compile|runtime|compile+runtime|test> (since Maven 3.0)
 * @requiresDirectInvocation <false|true>
 * @requiresOnline <false|true>
 * @requiresProject <true|false>
 * @requiresReports <false|true> (unsupported since Maven 3.0)
 * @threadSafe (since Maven 3.0)
 * @since <since-text>
 * @deprecated <deprecated-text>
 */
public class MyMojo
    extends AbstractMojo
{
    /**
     * @parameter alias="myAlias" implementation="" property="aProperty" default-value="${anExpression}"
     * @readonly
     * @required
     * @since <since-text>
     * @deprecated <deprecated-text>
     */
    private String parameter;

    /**
     * @component role="..." roleHint="..."
     */
    private Component component;

    /**
     * @component
     */
    private MavenSession session;

    /**
     * @component
     */
    private MavenProject project;

    /**
     * @component
     */
    private MojoExecution mojo;

    /**
     * @component
     */
    private PluginDescriptor plugin;

    /**
     * @component
     */
    private Settings settings;

    public void execute()
    {
        ...
    }
}

 

Annotations

import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugins.annotations.ResolutionScope;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Execute;
import org.apache.maven.plugins.annotations.InstantiationStrategy;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Settings;

/**
 * Mojo Description. @Mojo( name = "<goal-name>" ) is the minimal required annotation.
 * @since <since-text>
 * @deprecated <deprecated-text>
 */
@Mojo( name = "<goal-name>",
       aggregator = <false|true>, 
       configurator = "<role hint>",
       executionStrategy = "<once-per-session|always>",
       inheritByDefault = <true|false>,
       instantiationStrategy = InstantiationStrategy.<strategy>,
       defaultPhase = "<phase-name>",
       requiresDependencyResolution = ResolutionScope.<scope>,
       requiresDependencyCollection = ResolutionScope.<scope>, // (since Maven 3.0)
       requiresDirectInvocation = <false|true>,
       requiresOnline = <false|true>,
       requiresProject = <true|false>,
       requiresReports = <false|true>, // (unsupported since Maven 3.0)
       threadSafe = <false|true> ) // (since Maven 3.0)
@Execute( goal = "<goal-name>",
          phase = LifecyclePhase.<phase>
          lifecycle = "<lifecycle-id>" )
public class MyMojo
    extends AbstractMojo
{
    /**
     * @since <since-text>
     * @deprecated <deprecated-text>
     */
    @Parameter( alias = "myAlias",
                property = "a.property",
                defaultValue = "an expression with ${variables} eventually",
                readonly = <false|true>
                required = <false|true> )
    private String parameter;

    @Component( role = MyComponentExtension.class,
                hint = "..." )
    private MyComponent component;

    @Component
    private MavenSession session;

    @Component
    private MavenProject project;

    @Component
    private MojoExecution mojo;

    @Component // for Maven 3 only
    private PluginDescriptor plugin;

    @Component
    private Settings settings;

    public void execute()
    {
        ...
    }
}

 

分享到:
评论

相关推荐

    自定义maven插件的实现

    在Java开发领域,Maven是广泛使用的项目管理工具,它帮助开发者构建、依赖管理和项目信息管理。然而,有时候Maven的内置插件无法满足特定的需求,这时就需要自定义Maven插件来扩展其功能。本篇文章将深入探讨如何...

    maven 代码生成(maven插件)

    当你选择这个目标时,IDE将执行Maven插件的`generate`目标,根据配置文件生成相应的Java代码。这种执行方式使得代码生成集成到开发环境中,可以方便地进行增量更新。 4. **代码生成**: MBG会根据配置文件生成以下...

    maven 自定义插件小示例

    在Java开发领域,Maven是一个不可或缺的项目管理工具,它帮助开发者管理依赖、构建项目以及自动化构建流程。本文将深入探讨“Maven自定义插件小示例”,以帮助开发者更好地理解和利用Maven的强大功能。 Maven插件是...

    Maven实现struts2注解

    在这个主题中,我们将探讨如何利用Maven构建工具与Struts2的注解功能相结合,以实现更高效、更模块化的项目开发。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过管理项目的构建、报告和文档,帮助开发者...

    (快嘉代码生成Maven插件) 基于maven插件实现

    【快嘉代码生成Maven插件】是一种专为提高研发效率而设计的开发工具,它基于流行的Maven构建系统,并且特别关注接口测试自动化。这个插件的核心功能是能够根据用户提供的自定义接口文档,自动地生成基于TestNG测试...

    Maven 自定义Zip插件

    1. **定义Mojo(Maven Goal)**:Mojo是Maven插件的基本执行单元,类似于一个Java方法。你需要定义一个新的Mojo,指定其目标(goal)、执行阶段(phase)以及参数。例如,你可以创建一个名为`zipFiles`的Mojo,用于...

    jenkins+testng+reportng+maven+java环境搭建

    搭建Jenkins环境需要下载并安装Jenkins软件,然后配置Jenkins插件,包括TestNG插件和Maven插件。最后,需要创建一个新的Jenkins job,并配置TestNG测试任务,以便自动化测试。 搭建jenkins+testng+reportng+maven+...

    Mybatis+Maven插件

    总结来说,Mybatis+Maven插件的使用可以大大提高Java开发的效率,让开发者更专注于业务逻辑,而不是繁琐的基础框架搭建。在实际开发中,熟练掌握这两个工具及其插件的使用,将极大提升开发质量和速度。

    Spring-MVC+Maven构建java项目

    在本文中,我们将深入探讨如何使用Spring MVC和Maven来构建一个Java项目。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,而Maven则是一个项目管理工具,用于简化构建、依赖管理和项目文档的生成。 *...

    maven hibernate 注解

    首先,Maven是一个Java项目管理工具,它简化了构建、依赖管理和项目的生命周期。Maven通过使用一个标准的目录结构和XML格式的配置文件(pom.xml),能够自动化构建过程,包括编译、测试、打包、部署等。此外,Maven...

    smart-doc官方maven插件smart-doc-maven-plugin-master.zip

    Smart Doc是一款强大的自动化文档生成工具,其官方提供的Maven插件`smart-doc-maven-plugin`更是为Java项目提供了便捷的文档生成方案。本文将深入探讨`smart-doc-maven-plugin`的核心功能、使用方法以及实际应用。 ...

    Java+IDEA+Maven混淆打包

    3. **Maven**: 是一个项目管理和综合工具,主要用于构建、依赖管理和项目信息管理。它通过XML配置文件(pom.xml)来管理项目的构建过程和依赖关系。 4. **混淆**: 在Java中,混淆是指通过重命名类、方法和变量,使得...

    Mybatis Generator自动生成JavaEntity带中文注释和注解[Maven]工程

    配置完成后,你需要在Maven的`pom.xml`文件中引入Mybatis Generator的依赖,并添加执行生成代码的maven插件,如下所示: ```xml &lt;groupId&gt;org.mybatis.generator &lt;artifactId&gt;mybatis-generator-core ...

    Spring框架JavaConfig注解配置方式实例

    Maven是一个项目管理工具,它帮助开发者构建、管理和部署Java项目。`pom.xml`是Maven项目的配置文件,其中包含了项目的依赖、构建过程、插件和其他元数据。在本例中,`pom.xml`将定义Spring框架以及其他可能的依赖项...

    maven-annotation-plugin:一个Maven插件,可在编译时处理来自jdk6及更高版本的注释

    一个Maven插件,用于处理jdk8及更高版本的编译时注释。 该插件有助于从Maven使用JDK8提供的集成在Java编译器中的新注释处理 该插件是Maven apt插件的“ alter ego” 文献资料 相关插件 插入 信息 Jboss的eclipse...

    SpringMVC+JPA 注解开发 maven

    Maven作为项目构建工具,帮助管理依赖和构建流程。 首先,SpringMVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)架构模式的实现。在SpringMVC中,你可以通过注解来定义控制器、请求映射、参数绑定等,...

    junit、maven、markdown、mybatis工具书

    《Maven权威指南中文版》将指导你理解和使用Maven生命周期,创建和管理多模块项目,以及配置Maven插件来实现特定的构建任务。书中还涵盖了设置Maven仓库、解决依赖冲突以及优化构建速度等实用技巧。 【Markdown语法...

Global site tag (gtag.js) - Google Analytics