Maven插件详解

来源:互联网 发布:网络嗅探器下载 编辑:程序博客网 时间:2024/06/14 00:49
maven插件详解(查询maven插件并且使用插件的目标网站:http://maven.apache.org/plugins/ , http://search.maven.org/)

      1:插件是maven的核心,所有执行的操作都是基于插件来完成的
    为了让一个插件中可以实现众多的类似功能,maven为插件设定了目标,一个插件中有可能有多个目标
     其实生命周期中的重要的每个阶段都是由插件的一个具体目标来执行的
      
       2:maven自己的package命令只能打包编译后的源代码,如果我们想打包源代码的话,就需要使用maven的插件来完成:
      使用插件的步骤为:

        1: 在pom中配置插件,示例如下:
                <build>
            <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1.2</version>
            </plugin>
            </plugins>
               </build>               
        
        2: 我们也可以实现插件的继承依赖:在parent项目中配置如下:
        
                 <build>
                <pluginManagement>
                    <plugins>
                       <plugin>
                       <groupId>org.apache.maven.plugins</groupId>
                           <artifactId>maven-source-plugin</artifactId>
                           <version>2.1.2</version>
                       </plugin>
                    </plugins>
                </pluginManagement>
               </build>

               子项目的配置:

               <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                    </plugin>
                </plugins>
                </build>
                        
       3: 将插件绑定在一个特定的生命周期上,如果我们不设置,会默认绑定到一个生命周期上的,使用svn将源代码checkout下来,查看源代码即可看到默认值
           <build>
            <pluginManagement>
                <plugins>
                   <plugin>
                       <groupId>org.apache.maven.plugins</groupId>
                       <artifactId>maven-source-plugin</artifactId>
                       <version>2.1.2</version>
                       <executions>
                           <execution>
                             <phase>package</phase>
                             <goals><goal>jar-no-fork</goal></goals>
                           </execution>
                       </executions>
                   </plugin>
                </plugins>
            </pluginManagement>
       </build>
       以上就表示我们执行完package生命周期后就执行我们的maven-source-plugin插件中的jar-no-fork目标
       这样就将我们的插件的的目标执行绑定到了特定的生命周期上,这是在父项目中编写的,子项目直接继承即可

      4:maven-help-plugin插件: 显示我们想要显示的帮助信息
      
              help:describe -Dplugin=compiler,compiler代表的是我们要显示信息的插件的前缀

          或者:help:describe -Dmojo=describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-help-plugin

      5:如果我们使用的某些插件需要设定一些参数那么就需要使用configuration来配置:
                       <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            
             <configuration>
                  这里会自动提示我们能编写的属性,在编写属性的时候建议先将属性定义
             </configuration>
            
            </plugin>
         
      sql-maven-plugin插件的使用:
                    <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                <artifactId>sql-maven-plugin</artifactId>
                <version>1.5</version>
                   <dependencies>
                       <dependency>
                           <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.18</version>
                       </dependency>
                   </dependencies>
                   <configuration>
                         <driver>${mysql.driver}</driver>
                      <url>${mysql.url}</url>
                      <username>${mysql.username}</username>
                      <password>${mysql.password}</password>
                      <sqlCommand>
                          create database IF NOT EXISTS maven_test
                      </sqlCommand>
                   </configuration>
                   
                   <executions>
                       <execution>
                           <phase>package</phase>
                           <goals>
                             <goal>execute</goal>
                           </goals>
                       </execution>
                   </executions>
              </plugin>
      
      
      6 :   插件使用的基本步骤: 配置GVA-----绑定到生命周期(executions)-------配置执行的参数(configuration)----------如果插件的执行需要依赖,那么我们通过<dependencies>来引入依赖

原创粉丝点击