pom.xml文件配置环境及定义相关属性
主要是profilesActive定义其是开发、测试、生产三个环境
<profiles>
<profile>
<id>dev</id>
<activation>
<profilesActive>true</profilesActive>
</activation>
<properties>
<appVersion>${artifactId}-dev-${version}</appVersion>
<profileActive>dev</profileActive>
<gatewayUrl>http://172.**.160.***:8586/citicard/api/gateway</gatewayUrl>
<notifyUrl>http://172.**.160.***:8280/mockMerchantUtil/api/notify</notifyUrl>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profilesActive>test</profilesActive>
<appVersion>${artifactId}-testdev-${version}</appVersion>
<gatewayUrl>http://172.**.169.***:8586/citicard/api/gateway</gatewayUrl>
<notifyUrl>http://172.**.169.***:8280/mockMerchantUtil/api/notify</notifyUrl>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profilesActive>prod</profilesActive>
</properties>
</profile>
</profiles>
配置application.properties,选择相应的配置
#加载不同环境的配置文件
spring.profiles.active=@profilesActive@
创建不同环境的配置文件并定义相关属性
application-dev.properties、application-prod.properties、application-test.properties
#开发环境
server.port=8888
sysconfigConstant.debug=true
sysconfigConstant.appVersion=@appVersion@
sysconfigConstant.gatewayUrl=@gatewayUrl@
sysconfigConstant.notifyUrl=@notifyUrl@
提取系统环境定义的相关属性信息
/**
* 系统信息常量
* @author waiting
*
*/
@Component
@ConfigurationProperties(prefix = "sysconfigConstant")
public class SysconfigConstant {
/** 系统版本号 */
private static String appVersion ;
/** 是否debug模式*/
private static boolean debug ;
private static String gatewayUrl;
private static String notifyUrl;
//省略get/set方法
}
通过maven打包命令即可打包不同环境
#打开发环境包
mvn clean package -P dev -U
#打测试环境包
mvn clean package -P test -U
#打生产环境包
mvn clean package -P prod -U