idea配置多环境启动方式dev、test、prod
作者:it1993
这篇文章主要介绍了idea配置多环境启动方式dev、test、prod,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
应用场景:实际开发过程中,通常包含研发测试正式环境,为了对各环境在实际使用中隔离,maven配置支持对各环境区分启动
使用例子
一、pom添加以下内容
在pom文件<project>标签下添加如下内容
<!--配置环境的profile-->
<profiles>
<profile>
<id>dev</id>
<properties>
<!--使用${environment}获取值-->
<environment>dev</environment>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<environment>test</environment>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<environment>prod</environment>
</properties>
</profile>
</profiles>
<build>
<!--suppress UnresolvedMavenProperty -->
<finalName>hhInterface-xxl-${environment}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
<resources>
<!--排除环境配置文件-->
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>application-*.yml</exclude>
<exclude>application.yml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<!-- 打包时包含的文件 -->
<includes>
<!--suppress UnresolvedMavenProperty -->
<include>application-${environment}.yml</include>
<include>application.yml</include>
</includes>
</resource>
</resources>
</build>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/libs-snapshot</url>
</pluginRepository>
</pluginRepositories>application-dev.yml增加如下配置, application-prod.yml active则为prod
spring:
profiles:
active: dev对上面内容解析:首先添加profiles,设置启动或打包时的环境类型,设置后右侧会出现profile下面的内容,
如下图

build下设置项目打包时文件名,设置包含或不包含的配置文件
二、分别以dev和prod启动项目
设置dev启动方式如下图,启动后访问Controller,输出了dev配置文件的内容



设置prod启动方式如下图,启动后访问Controller,输出了prod配置文件的内容

注意:一次只能选一个环境,不然默认是第一次选定的环境
三、以jar启动
配置maven打包,输入如下内容
clean package -D maven.test.skip=true -P dev

打开jar包,查看只有application-dev.yml和application.yml,说明命令生效了

注意:也可以点击右侧package打包,profiles选择对应环境即可
可以看到打的包自带dev后缀

启动项目,命令如下
java -jar hhInterface-xxl-dev.jar --spring.profiles.active=dev

访问controller,打出日志

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
