几种Maven自动替换配置插件


话不多说,直接进入正题,简单介绍几种常用的Maven打包时配置文件替换的插件:

1.portable-config-maven-plugin

这个使用起来特别简单,首先添加Maven依赖(在...中添加):



    com.juvenxu.portable-config-maven-plugin
    portable-config-maven-plugin
    1.1.5
    
        
            
                replace-package
            
        
    
    
        ${portableConfig}
    

然后在...中添加配置:


    
    
        test
        
            src/main/portable/test.xml
        
    
    
    
    
        production
        
            src/main/portable/production.xml
        
    

至此pom.xml文件中的配置都已经完成了。

下面我们看看,production.xml中的配置文件格式:




    
        数据库驱动类
        数据库链接的url
        数据库用户名
        用户密码
        10
        150
        test
    

    
    
        OFF
        WARN
        WARN
        WARN
        WARN
        WARN
        WARN
        WARN
    


具体xpath的语法参考:http://www.aichengxu.com/view/598615

上面这些配置完成后,就可以直接使用maven命令进行打包了。如我想在测试环境下打一个war包,就可以使用下面的命令:
maven clean package -Ptest -DskipTests

2.autoconfig-maven-plugin

这是alibaba的一个打包插件,这个相对来说配置复杂一些,先看看maven中的配置:
同样在...中添加一个maven插件:



    com.alibaba.citrus.tool
    autoconfig-maven-plugin
    1.2
    
        ${env.properties}
    
    
        
            package
            
                autoconfig
            
        
    

同样在中添加:


    
        dev
        
            src/main/conf/dev.properties
        
    

    
        test
        
            src/main/conf/test.properties
        
    

这是时候的dev.properties和test.properties的格式和application.properties的格式完全相同,只是参数值不同
至此,pom.xml中的配置就完成了

autoconfig这个插件打包时会自动找META_INF/autoconfig/auto-config.xml文件,下面贴出auto-config中的内容:



    
        
        
        
        
        
        
        
        
    


    

这个文件会替换模板文件指定的参数值,下面是模板文件application.properties.vm

db.url=${db.url}
db.username=${db.username}
db.password=${db.password}
db.driver=${db.driver}
db.initialPoolSize=${db.initialPoolSize}
db.minPoolSize=${db.minPoolSize}
db.maxPoolSize=${db.maxPoolSize}

至此所有替换配置都已经完成,打包时直接使用下面的maven命令就可以:
mvn clean package -Pdev -DskipTests

你可能感兴趣的:(几种Maven自动替换配置插件)