springboot使用maven实现多环境运行和打包

在开发过程中,需要不断进行环境的切换和打包部署,maven提供了多环境配置,可以方便实现不同环境的配置切换和打包。

一、maven配置

1.在pom文件中放入profiles多环境配置

	
    <profiles>
        <profile>
            <id>devid>
            <properties>
            	
                <profiles.active>devprofiles.active>
            properties>
            
            <activation>
                <activeByDefault>trueactiveByDefault>
            activation>
        profile>
        <profile>
            <id>prodid>
            <properties>
                <profiles.active>prodprofiles.active>
            properties>
        profile>
    profiles>

springboot使用maven实现多环境运行和打包_第1张图片

二、springboot yml配置

2.在application.yml文件中使用spring:profiles:active: @profiles.active@ 进行激活,可以把对应dev和prod环境对应的数据库分别放在application-dev.yml和application-prod.yml文件中使用,这样就可以maven打包的时候会根据环境来自动加载对应环境的yml文件。

spring:
  profiles:
    active: @profiles.active@

springboot使用maven实现多环境运行和打包_第2张图片
springboot使用maven实现多环境运行和打包_第3张图片
springboot使用maven实现多环境运行和打包_第4张图片

三、maven打包

这几种打包方式只是操作方式不同而已,其实都是一样的,最后都是一条maven命令
方式3实际的命令 mvn clean package -Dmaven.test.skip=true
方式2打包的命令和方式1一样,只不过可视化了而已
这样,在用maven打包的时候,使用 mvn clean package -Dmaven.test.skip=true -P prod打包,最后打包后的文件中,application.yml中的profiles.active的值就是prod。这样直接运行java -jar xxx.jar,就是生产环境的配置了。

方式1:使用maven命令打包(推荐使用),配合shell脚本可实现自动部署

//  -Dmaven.test.skip=true 跳过测试
// -P prod 使用prod环境
mvn clean package -Dmaven.test.skip=true -P prod

方式2:idea开发工具本地打包
springboot使用maven实现多环境运行和打包_第5张图片
方式3:使用pom中环境激活
激活哪个直接打包就是什么环境springboot使用maven实现多环境运行和打包_第6张图片

四、在代码中判断环境

    @Value("${spring.profiles.active}")
    private String profiles;

你可能感兴趣的:(java,maven,maven打包,springboot多环境)