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

目录
  • SpringBoot框架切换启动开发环境和测试环境
    • 目录结构
    • 1.在pom.xml文件中添加插件
    • 2.添加配置文件application.yml
    • 3.添加测试环境的配置文件application-test.yml
    • 4.将项目打包成jar包的快捷方式
  • SpringBoot动态切换环境
    • 1、我们在springboot的pom.xml中添加项目中的环境配置
    • 2、环境配置完成之后我们有三套环境

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

(0)

相关推荐

  • springboot配置开发和测试环境并添加启动路径方式

    目录 springboot配置开发和测试环境并添加启动路径 SpringBoot配置文件(多环境配置dev.test.prod.启动器类的位置) 多环境配置 启动器类的位置 springboot配置开发和测试环境并添加启动路径 嗯,开发和测试环境要分离,这是一般共识(虽然我工作过的公司都没有这种分离),spring boot也可以按照配置文件的读取来做到这一点. 上图有三个application开头的配置文件,要达到能够读取外部配置文件的目的,我们需要引入一个依赖包,就是红色箭头所指的那个,把这

  • SpringBoot生产环境和测试环境配置分离的教程详解

    第一步:项目中资源配置文件夹(resources文件夹)下先新增测试环境application-dev.yml和application-prod.yml两个配置文件,分别代表测试环境配置和生产环境配置 第二步:在application.yml配置文件中设置如下配置(PS:active后定义的名字要和配置文件-后的名字一致,如下则系统执行application-dev.yml) spring: profiles: active: dev 第三步:启动项目 启动方式一:idea中 springboo

  • springboot多环境(dev、test、prod)配置详解

    我们在开发应用的时候,通常同一套程序会被应用和安装到几个不同的环境中,比如开发.测试.生产等. 其中每个环境的数据库地址.服务器端口等配置都不同.如果在为不同环境打包时都要频繁的修改配置文件,那必将是个非常繁琐的且容易出错的事情. 对于多环境的配置,各种项目构建工具或是架构的基本思路是一样的,通过配置多份不同的环境配置文件,在通过打包命令指定需要打包的内容之后 进行区分打包,spring boot也不列外.或者说实现起来更加简单. propertiest配置格式 在Spring Boot中多环境

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

    目录 SpringBoot框架切换启动开发环境和测试环境 目录结构 1.在pom.xml文件中添加插件 2.添加配置文件application.yml 3.添加测试环境的配置文件application-test.yml 4.将项目打包成jar包的快捷方式 SpringBoot动态切换环境 1.我们在springboot的pom.xml中添加项目中的环境配置 2.环境配置完成之后我们有三套环境 SpringBoot框架切换启动开发环境和测试环境 目录结构 1.在pom.xml文件中添加插件 <pr

  • vue-cli3 配置开发与测试环境详解

    需求 首先介绍一下本项目的背景,是基于 vue-cli3.1.1 的单页应用,目前测试环境和生产环境都在线上,并且都在同一个域名下,其中生产环境部署在根目录下,测试环境部署在名为 test 的子目录下,根据生产环境和测试环境的不同,某些界面和交互有细微的差别. 根据以上项目的基本情况,分析出需求如下: 实现区分线上生产环境和线上测试环境的环境变量,供项目代码中全局使用. 实现输入一行命令,执行两条指令,分别打包线上生产环境和线上测试环境的代码. 实现打包之后,自动将打包好的文件夹分别按照项目名+

  • Django网络框架之创建虚拟开发环境操作示例

    本文实例讲述了Django网络框架之创建虚拟开发环境操作.分享给大家供大家参考,具体如下: @什么是虚拟开发环境 很多时候一台服务器上要运行多个Web应用程序: 而这些应用程序之间使用的第三方框架往往是互不相同且互不兼容的: 虚拟环境的作用就是为每个Web应用创建一个隔离的独立的运行环境,使得各个应用的依赖互不影响: @通过venv安装虚拟环境(Python3.4以上版本) sudo apt-get install python3-venv # cd到合适目录后,创建一个虚拟环境目录 pytho

  • Springboot整合MongoDB的Docker开发教程全解

    1 前言 Docker是容器开发的事实标准,而Springboot是Java微服务常用框架,二者必然是会走到一起的.本文将讲解如何开发Springboot项目,把它做成Docker镜像,并运行起来. 2 把Springboot打包成Docker镜像 Springboot的Web开发非常简单,本次使用之前讲解过的Springboot整合MongoDB的项目,请参考 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式,文章中有源码:MongoDB的安装请参考:用Docker安装

  • SpringBoot框架打包体积简化过程图解

    Springboot 框架极大的的简化了代码的框架集成开发,想当年还是用ssm框架组合时,那种配置令人头疼,还有Springboot框架自带tomcat服务器,简化了我们的环境搭建.但是Springboot框架自带tomcat服务器也有问题,就是导致一个服务很大,比如一个简单的业务系统,可能因为导入的第三方jar包比较多,导致打包出来的jar非常大.假如是内网上传至服务器,还好,但是假如是在阿里云这种云服务器,就很考验带宽的上行速度了.比如我家50M宽带,下行很快,但上行才3M,一个jar包10

  • springboot框架阿里开源低代码工具LowCodeEngine

    目录 前言 LowCodeEngine简介 搭建低代码平台 使用低代码平台 目标效果 总结 前言 解放双手!推荐一款阿里开源的低代码工具,YYDS! 之前分享过一些低代码相关的文章,发现大家还是比较感兴趣的.之前在我印象中低代码就是通过图形化界面来生成代码而已,其实真正的低代码不仅要负责生成代码,还要负责代码的维护,把它当做一站式开发平台也不为过!最近体验了一把阿里开源的低代码工具LowCodeEngine,确实是一款面向企业级的低代码解决方案,推荐给大家! SpringBoot实战电商项目ma

  • Spring-Boot框架初步搭建

    一.简介 SpringMVC是非常伟大的框架,开源,发展迅速.优秀的设计必然会划分.解耦.所以,spring有很多子项目,比如core.context.bean.mvc等.这对知根底的人来说很简单明了,然而springmvc就是为了傻瓜式的操作而发明的.对于初学springmvc的人来说,想要入手就开发需要拷贝一连串的dependency而不知道这个是干嘛,不知道是不是少了依赖.像我刚接触springmvc的时候到处百度教程而发现各有不同,于是复制了一个又一个代码却不能自己设置,根本原因是不了解

  • SpringBoot多配置切换的配置方法

    1. 切换需求 有时候在本地测试是使用8080端口,可是上线使用的又是80端口. 此时就可以通过多配置文件实现多配置支持与灵活切换 2.多配置文件 3个配置文件: 核心配置文件:application.properties 开发环境用的配置文件:application-dev.properties 生产环境用的配置文件:application-pro.properties 这样就可以通过application.properties里的spring.profiles.active 灵活地来切换使用

随机推荐