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>配置很重要。