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,至此,动态切换已完成,朋友们可自行尝试。以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程宝库

 1、添加maven依赖<dependency> <groupId>mysql</groupId> <artifactId&g ...