使用maven profile指定配置文件打包适用多环境

开发过程, 我们习惯把数据源配置, 项目常量, 日志配置等基础数据配置写到一个个单独的的文件中. 如jdbc.properties等各种.格式的文件.

 

如何不频繁修改配置文件, 随时打包不同基础数据配置信息的项目.

 

1.新建maven项目,   在pom.xml中添加 profile节点信息如下:

  
          
              
            dev  
              
                development  
              
              
                true  
              
          
          
              
            test  
              
                test  
              
          
          
              
            prev  
              
                preview  
              
          
          
              
            prod  
              
                production  
              
          
  

 2. 在项目中添加各环境需要的数据源配置文件,分不同目录存放, 分别是开发,测试, 预演,生产  环境. 如下图左边部分所示.  

使用maven profile指定配置文件打包适用多环境_第1张图片

3. pom.xml中配置resource节点信息.

             
      
          
            src/main/resources  
              
                environment/development/*    
                environment/test/*    
                environment/preview/*    
                                environment/production/**  
              
          
          
            src/main/resources/environment/${environment}  
            environment/${environment}  
          
      
 

resource节点信息解释: 

src/main/resources   
environment/development/**   
environment/test/**   
environment/preview/**   
environment/production/**  
  
 
src/main/resources/environment/${environment}   
environment/${environment}  

4.  项目打包.   打包命令mvn package -Pdev来指定激活id为 dev 的profile节点, 这样, 开发环境配置文件就会被打包.
开发: mvn package -Pdev (因为配置了默认激活dev部分, 所以也可以使用mvn package, 这与 mvn package -Pdev 效果相同)
测试: mvn package -Ptest
预演:mvn package -Pprev
生产:mvn package -Pprod

 

 

 

 

 

5.注意.

尤其要注意,我们在配置这里的时候,主语顺序,否则配置不会生效的。要把需要过滤的放在最下面。

最后,通过命令运行,命令格式为mvn clean package -Ppro -Dmaven.test.skip=ture

命令解释:-P这里是大写,注意我们也可以不写,则默认加载active的配置(我的是pro),-Ppro的目的是表示使用生产环境进行打包。若我们需要使用测试环境则是-Ptest

-Dmaven.test.skip=true是我打包的时候跳过测试。

好了,就这样简单,有什么不明白的欢迎留言,祝你成功。

 

 

 

 

 

你可能感兴趣的:(JAVA,WEB开发,技术文章)