maven profile多环境动态配置文件使用

前端之家收集整理的这篇文章主要介绍了maven profile多环境动态配置文件使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

pom.xml

<profiles>

        <!-- =====开发环境====== -->
        profile>
            id>dev</properties>
                env 微服务配置 -->
                dubbo.version>server.hbd redis缓存配置 redis.ip>192.16.8.126redis.port>6379redis.pass>cor2017 swagger接口 swagger.enable>trueactivationactiveByDefault>
        >


         =======UAT环境========== >uat>server.positec>127.0.0.1>15552>positec2017...>

            >



         ======生产环境====== >prod>123>false>
    >



    buildresources 先指定 src/main/resources下所有文件文件夹为资源文件 -->
            resourcedirectory>src/main/resourcesincludes>
                    include>**/* 设置对某些文件进行过滤, 这里对*.properties进行过虑,即这些文件中的${key}会被替换掉为真正的值 >**/*.propertiesfiltering>

         finalName>${project.artifactId}pluginManagementpluginsplugingroupId>org.apache.maven.pluginsartifactId>maven-war-pluginversion>2.4configuration>
                        <archiveClasses>true</archiveClasses>-->
                        warName<warSourceDirectory>${basedir}/src/main</warSourceDirectory>webappDirectory>${project.build.directory}/${project.artifactId}
                        webResources>
                            >
                                 由于我是把配置文件都在/WEB-INF/config/文件-->
                                 所以把src/main/resources 被filter替换的文件替换dao WEB-INF/config/下targetPath>WEB-INF/classes> 
            >

spring boot  application.properties配置文件

## spring boot 必须用@xx@符号, 不用${}
spring.profiles.active=@env@

#环境dev=开发,  prod=生产, uat=用户测试
env=@env@

#IP
redis.ip=@redis.ip@
#Port

redis.port=@redis.port@
redis.pass=@redis.pass@

dubbo.zoo.connectString=@dubbo.zoo.connectString@
dubbo.version=@dubbo.version@


swagger.enable=@swagger.enable@

 

其他模块普通配置文件

redis.ip=${redis.ip}
#Port
redis.port=${redis.port}
redis.pass=${redis.pass}

 

spring boot 和普通的方式不同,需要用@@符号占位符,普通方式用${}符号占位

 

profiles可以被子模块继承,

<build><resources>配置很重要。

 

猜你在找的Maven相关文章