zoukankan      html  css  js  c++  java
  • 后端——工具——构建工具——Maven——第五章节(插件基础)

      第五章节的知识分为三个部分,第一部分介绍插件的基础,第二部分介绍内置的插件,例如clean,compiler,resource,jar等等。第三部分介绍如何自定义插件。本篇介绍插件基础。它包含以下四块

    • 引入插件
    • 执行插件
    • 配置插件的仓库
    • 插件的extension属性

    1、引入插件

      项目引入插件是通过在pom.xml中定义build | plugins | plugin标签。例如source插件:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>版本号</version>
        <configuration>
            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
            <finalName>${project.name}-jar</finalName>
        </configuration>
    </plugin>
    

    当plugin的groupId为org.apache.maven.plugins,org.codehaus.mojo时,可以忽略不写。

    在setting.xml中定义pluginGroups | pluginGroup标签下的插件,不必填写groupId。

    除上述两种情况之外,任意其他的插件组都需要填写。

    在实际情况中,即使pom.xml未定义任何插件,它会从父pom,祖父pom等祖先pom中继承而来,它的根为super pom。

    执行mvn help:effective-pom可以查看最终生效的pom。项目引入的插件在其中都可以找到。

    pluginManagement中定义的插件是从祖先Pom,super pom中继承而来的。

    2、执行插件

    执行插件的方式有两种。

    第一种方式的格式为mvn lifecycle:phase,其中lifecycle的含义为生命周期,是clean,default, site;可以省略。phase是生命周期拥有的phase。当调用命令之后,实际运行的还是与phase关联的goal的代码,若没有goal,不会有任何输出。

    第二种方式的格式为mvn pluginName:goal,pluginName由groupId, artifactId, name组成,其中groupId为插件所在的组,artifactId为插件在组中的标识,name为插件项目的名称;groupId,artifactId可以省略。

    3、插件仓库

      插件仓库属于通用的,通常不需要在每个项目的Pom.xml都定义一次,可以继承自父pom或super pom,默认的插件仓库定义在super pom中,可以在maven-model-builder-version.jar中找到。

      插件仓库的语法格式在第二章节的仓库地址部分已介绍,此处不再赘余。

    4、extension属性

      引用原著中的叙述:

      If you associate a plugin with your project, which introduces a new packaging type or a customized lifecycle, then you must set the value of the extensions configuration element to true

      引入的插件定义了新的一种打包类型(默认是jar),或重新配置生命周期,这种情况下必须设置extensions属性为true,最常见的是将项目打包成war,即定义了一种新的打包类型

  • 相关阅读:
    php注册、登录界面的制作
    php将表单中数据传入到数据库
    数据操作
    Hibernate入门(五)---------事务管理
    MySQL事务(学习笔记)
    Hibernate入门(四)---------一级缓存
    Hibernate入门(三)
    反射demo(拷贝一个对象)
    反射学习小结
    Hibernate入门(二)——hibernateAPI详解
  • 原文地址:https://www.cnblogs.com/rain144576/p/14468780.html
Copyright © 2011-2022 走看看