聊聊基于maven的springboot的"过时"用法

接触过许多工程,发现有一些基于maven的springboot工程还是使用maven的profile,有些"过时"了,下面简单介绍一下。

示例1

pom.xml
    
        
            dev
            
                dev
            
            
                true
            
        

        
            test
            
                test
            
        
        
            staging
            
                staging
            
        
        
            prod
            
                prod
            
        
    

    
        
            
                org.apache.maven.plugins
                maven-antrun-plugin
                
                    1.8
                
                
                    
                        copy-service-properties
                        compile
                        
                            run
                        
                        
                            
                                
                                    
                                        
                                    
                                
                            
                        
                    
                
            
        
    
src/main/resources
├── config
│   ├── application.yml
│   └── bootstrap.yml
├── deploy
│   ├── Dockerfile
│   ├── dev
│   │   ├── application.yml
│   │   └── bootstrap.yml
│   ├── prod
│   │   ├── application.yml
│   │   └── bootstrap.yml
│   ├── staging
│   │   ├── application.yml
│   │   └── bootstrap.yml
│   └── test
│       ├── application.yml
│       └── bootstrap.yml
这种方法呢,感觉是多此一举,用application-{profile}.yml不香吗,感觉是没有用上springboot之前的maven工程的用法

示例2

pom.xml
    
        
            dev
            
                dev
            
            
                true
            
        

        
            test
            
                test
            
        
        
            staging
            
                staging
            
        
        
            prod
            
                prod
            
        
    
application.yml
spring:
  profiles:
    active: @app.active@
这种用法呢,src/main/resources下面只有一个application.yml,把profile的差异放到了maven的profile中,在application.yml引用maven的profile变量,有点"少见多怪",直接application-{profile}.yml用不香吗。

小结

springboot工程已经提供了profile的特性了,其实大部分场景可以替换掉maven的profile,没必要在使用maven的profile了,不然总感觉显得有点古老和过时。

你可能感兴趣的:(springboot)