Maven 区分开发环境和测试环境配置两种方式

       项目开发过程中,如果一个项目经常发布,那么在打包之前会不断的修改配置文件,这无疑是很麻烦的一件事情。今天我介绍下这个问题怎么解决。

      注意:本配置的前提是项目必须是MAVEN项目。

方法一:(过滤方式)

目录结构:

Maven 区分开发环境和测试环境配置两种方式_第1张图片
第一步、创建配置文件

           在项目的src/main/filter目录下创建 development.properties    product.properties  两个文件。

           development是开发配置内容。product是正式配置内容

           例如development:

driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc\:mysql\://192.168.1.5:3306/testdev?useUnicode\=true&characterEncoding\=utf8
jdbc_username=sun
jdbc_password=123456
#redis.host=127.0.0.1
       product如下:

driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc\:mysql\://192.168.1.5:3306/testpro?useUnicode\=true&characterEncoding\=utf8
jdbc_username=sx
jdbc_password=124565
#redis.host=127.0.0.1
第二步:配置需要读取的配置文件           system.properties中需要变化的变量使用参数进行配置,如     
driverClassName=com.mysql.jdbc.Driver
jdbc_url=${jdbc_url}
jdbc_username=${jdbc_username}
jdbc_password=${jdbc_password}
#redis.host=127.0.0.1
注意:${jdbc.url} 直接对应上面配置的development.properties或product.properties文件中的名称。

第三步:配合MAVEN 的 pom.xml文件

    
        dev
        
            
            development
        
        
            true
        
    
    
        prod
        
            
            product
        
    

    web
    
        src/main/resources/filter/${env}.properties
    
    
        
            src/main/resources
            
                filter/*.properties
            
            true
        
    
profiles说明:
profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果
        dev
        
            
            development
        
key-value
env=development(可以有多个键值对)
默认启用的是dev环境配置:

           true

  ​配置文件路径,此路径可以自定义:
src/main/resources/filter/${env}.properties

​maven中配置文件目录:
src/main/resources
第四 步:打包
    ​打本地包 mvn -Pdev install或者mvn install(因为本例activeByDefault配的为true)
    ​打产品包 mvn -Pprod install
结果:src/main/resources/config/system.properties根据mvn -P 参数决定值

方法二:(选择打包方式)

目录结构:

Maven 区分开发环境和测试环境配置两种方式_第2张图片

pom.xml内容:


    
        dev
        
            
            development
        
        
            true
        
    
    
        prod
        
            
            product
        
    

    web
    
        
            src/main/resources
            
            
                development/*
                product/*
            
        
        
            src/main/resources/${env}
        
    
war文件结构:

​打本地包 mvn -Pdev install或者mvn install(因为本例activeByDefault配的为true)

Maven 区分开发环境和测试环境配置两种方式_第3张图片

    ​打产品包 mvn -Pprod install

Maven 区分开发环境和测试环境配置两种方式_第4张图片

注意:打包时请先mvn clean一下,否则可能两类配置文件同时存在引起误解


如果要带上文件夹:

 
            src/main/resources/${env}
 
替换为


    src/main/resources
    
        ${env}/*.properties 
 
    

Maven 区分开发环境和测试环境配置两种方式_第5张图片

Maven 区分开发环境和测试环境配置两种方式_第6张图片

你可能感兴趣的:(Maven 区分开发环境和测试环境配置两种方式)