3. maven插件

转载

简介

Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,像编译是通过maven-compile-plugin实现的、测试是通过maven-surefire-plugin实现的,maven也内置了很多插件,所以我们在项目进行编译、测试、打包的过程是没有感觉到。

进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven-compiler-plugincompile目标用来编译位于src/main/Java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码。

maven插件列表地址

执行语法

mvn [plugin-name]:[goal-name]
例如,一个Java项目使用了编译器插件,通过运行以下命令编译
mvn compiler:compile

插件类型

Maven提供以下两种类型的插件:

  • 构建插件
    在生成过程中执行,并应在pom.xml中的元素进行配置
  • 报告插件
    在网站生成期间执行的,应该在pom.xml中的元素进行配置。

插件示例

除了核心插件之外,还有很多优秀的第三方插件,可以帮助我们快捷、方便的构架项目。当使用到某些功能或者特性的时候多加搜索,往往得到让你惊喜的效果。
例如,项目中使用了Mybatis,就有一款神奇的maven插件,运行一个命令,就可以根据数据库的表,自动生成Mybatis的mapper配置文件以及DAO层接口模板。

pom.xml


   org.mybatis.generator
   mybatis-generator-maven-plugin
    1.3.2
    
       src/main/resources/mybatis-generator/generatorConfig.xml
        true
        true
    
    
        
           Generate MyBatis Artifacts
            
               generate
            
        
    
    
        
           org.mybatis.generator
           mybatis-generator-core
           1.3.2
        
    

定义generatorConfig.xml配置文件:



 

    
 
    
 
        
        
            
        
 
        < jdbcConnection driverClass="com.mysql.jdbc.Driver"  connectionURL="jdbc:mysql://localhost:3344/db?characterEncoding=utf8" userId="id" password="password">
        
 
 
        
        
            
        
 
        
        
            
            
            
        
 
        
        
            
            
        
 
        
        
            
            
        
      
             

然后定位到pom.xml所在的路径下面,运行:
mvn mybatis-generator:generate

你可能感兴趣的:(3. maven插件)