SpringBoot框架实现切换启动开发环境和测试环境

 更新时间:2021年12月02日 08:50:24   作者:月月吃喝  
这篇文章主要介绍了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,至此,动态切换已完成,朋友们可自行尝试。以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java在PDF中添加表格过程详解

    Java在PDF中添加表格过程详解

    这篇文章主要介绍了Java在PDF中添加表格过程详解,本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、设置行高、列宽、字体、字号等,需要的朋友可以参考下
    2019-07-07
  • Java源码解析重写锁的设计结构和细节

    Java源码解析重写锁的设计结构和细节

    这篇文章主要为大家介绍了Java源码解析重写锁的设计结构和细节,这小节我们以共享锁作为案列,自定义一个共享锁。有需要的朋友可以借鉴参考下
    2022-03-03
  • Spring启动流程refresh()源码深入解析

    Spring启动流程refresh()源码深入解析

    这篇文章主要给大家介绍了关于Spring启动流程refresh()源码深入解析的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java如何实现可折叠Panel方法示例

    Java如何实现可折叠Panel方法示例

    这篇文章主要给大家介绍了关于利用Java如何实现可折叠Panel的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Java中long类型与Long类型的区别和大小比较详解

    Java中long类型与Long类型的区别和大小比较详解

    这篇文章主要给大家介绍了Java中long类型与Long类型区别和大小比较的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • Spring Data Elasticsearch使用方式(Elasticsearch)

    Spring Data Elasticsearch使用方式(Elasticsearch)

    这篇文章主要介绍了Spring Data Elasticsearch使用方式(Elasticsearch),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • mybatis自动扫描和自定义类注解方式

    mybatis自动扫描和自定义类注解方式

    这篇文章主要介绍了mybatis自动扫描和自定义类注解方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Python机器学习三大件之二pandas

    Python机器学习三大件之二pandas

    这篇文章主要介绍了Python机器学习三大件之二pandas,文中有非常详细的代码示例,对正在学习Python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • 如何使用spring ResponseEntity处理http响应

    如何使用spring ResponseEntity处理http响应

    这篇文章主要介绍了如何使用spring ResponseEntity处理http响应的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring Cloud Feign接口返回流的实现

    Spring Cloud Feign接口返回流的实现

    这篇文章主要介绍了Spring Cloud Feign接口返回流的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论