SpringBoot框架实现切换启动开发环境和测试环境
springboot框架切换启动开发环境和测试环境
目录结构
1.在pom.xml文件中添加插件
<profiles> <profile> <id>dev</id> <activation> <activebydefault>true</activebydefault> </activation> <properties> <profileactive>dev</profileactive> </properties> </profile> <profile> <id>test</id> <properties> <profileactive>test</profileactive> </properties> </profile> <profile> <id>prod</id> <properties> <profileactive>prod</profileactive> </properties> </profile> </profiles> <build> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
注意:
<activation> <activebydefault>true</activebydefault> </activation>
放在dev下,默认以开发环境启动,如上所示;如果想以测试环境启动,把以上代码剪切到test下即可
2.添加配置文件application.yml
用于后期查看是使用哪种环境启动的项目
3.添加测试环境的配置文件application-test.yml
将数据库、dubbo、redis的开发地址,切换成测试地址即可。
4.将项目打包成jar包的快捷方式
我们将项目打包成jar包,将包含启动文件(bmsapplication)的子项目(scm-bms-starter)进行打包即可
这就是我们想要的jar包
下面我们测试一下,jar包是否可以运行
首先,在cmd中,将目录切换到jar包的存放路径
然后,运行jar包
命令1:java -jar scm-bms-starter-0.0.1-snapshot.jar(windows)
命令2:nohup java -jar scm-bms-starter-0.0.1-snapshot.jar &(linux)
两者的区别:
命令1会将启动过程在控制台输出,当关闭cmd的时候,进程自动被杀死
命令2会在后台启动项目,并将启动过程输入到一个默认的文件中(nohup.out),该进程不会随着控制台的关闭而结束,需要使用kill -15 pid杀死进程
springboot动态切换环境
一般我们在开发中会有 开发、测试、预生产、生产环境的分类,这个时候我们会遇到在项目部署打包的时候需要动态的去切换环境,怎样去实现动态环境的切换呢?好了,废话不多说直接整干货。
1、我们在springboot的pom.xml中添加项目中的环境配置
如图
我们这边先简单介绍三套环境的切换,如图所示,当我们添加三套环境的profile配置之后,我们的第一阶段的任务就完成了,即环境的配置。
2、环境配置完成之后我们有三套环境
我们需要copy出三份application-xxx.properties文件出来,放在springboot默认配置application.properties的同级目录下。主配置文件application.properties只留一个spring.profiles.active=@env@的配置,此处evn这个变量取得上图profile中标签<evn>的值,他的值关系到你copy的三份配置文件xxx的命令,这个地方需要注意。其他的三份application-xxx.properties文件,我们为了测试就只改他们的tomcat的端口号不一样即可大功告成。附图:
主配置文件:
开发环境配置文件:
好了,其他的配置文件就不多加赘述,为了方便看效果只是简单的改了启动的tomcat的端口号。
3、看效果,我们选择开发环境的配置启动,注意看启动信息。附图:
ok,至此,动态切换已完成,朋友们可自行尝试。以上为个人经验,希望能给大家一个参考,也希望大家多多支持。