Springboot项目启动时如何用命令动态指定环境

Springboot 启动用命令指定环境

我们都知道springboot的yml文件可以配置多个环境,可以直接在application.yml中指定使用哪个环境。

例如:指定dev环境

这是在配置文件中写死的。

那么,如何在启动项目的时候动态指定呢?

其实,只需要在启动时多加一个命令就行:

java -jar xxx.jar --spring.profiles.active=dev

Springboot 启动命令介绍

SpringBoot 启动项目指定命令的三种方式

1、配置文件中添加命令

在 application.yml 或 application.properties 里面添加所需要命令

如下图 : server.port=1118

2、在启动命令行中添加

java -jar thymeleaf.jar --server.port=9000

这种方式可以覆盖原本配置文件的内容

注意:

如果后面跟了 --server.port=9000 的命令。 但是启动成功后仍旧是 1118 。

导致端口未改变的原因是 : SpringApplication 在启动时没有传入可变形参 (第二个参数) 。

3、JVM中添加命令

java -Dserver.port=9000 -jar thymeleaf.jar

此方式是直接将属性写入JVM中,作为JVM的参数,无论你SpringBoot启动是否加了第二个参数都可以修改端口号。

SpringBoot 启动常用命令

命令 说明
–server.port 指定服务器端口
–spring.profiles.active=dev 指定运行环境 ( 通常为 dev 、test、uat、prod )

application.yml 或 application.properties 里面可以配置的属性都可以通过命令传入 。看个人需求。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Spring Boot 项目启动时执行特定方法

    Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRunner. 这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方法.我们可以通过实现ApplicationRunner和CommandLineRunner,来实现,他们都是在SpringApplication 执行之后开始执行的. CommandLineRunner接口可以用来接收字符串数组的命令行参数,ApplicationRunner 是使用App

  • spring boot实现profiles动态切换的示例

    具体做法: 1.首先在pom中添加profiles: <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <spring.profiles.active>dev</spring.profiles.active

  • 详解SpringBoot配置文件启动时动态配置参数方法

    序言 当我们要同时启用多个项目而又要使用不同端口或者变换配置属性时,我们可以在配置文件中设置${变量名}的变量来获取启动时传入的参数,从而实现了动态配置参数,使启用项目更加灵活 例子 server: port: ${PORT:50101} #服务端口 spring: application: name: xc‐govern‐center #指定服务名 eureka: client: registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中 fetchReg

  • springboot命令行启动的方法详解

    springboot命令行启动 创建的springboot项目想看看效果,不想打开idea等开发工具,使用直接使用命令行启动. maven的命令启动 需要将 jdk的bin目录和maven的bin目录添加到环境变量path中,若是没有,mvn就要用在maven的bin环境中的全路径 若是没有添加环境变量 mvn就要是E:\software\apache-maven-3.3.9\bin\mvn(安装路径\bin\mvn) java就要是C:\software\jdk\bin\java.exe(安装

  • Spring Boot解决项目启动时初始化资源的方法

    前言 在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等.今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作. 这个神器就是 CommandLineRunner, CommandLineRunner 接口的 Component 会在所有 SpringBeans都初始化之后, SpringApplication.run()之前执行,非常适合在应用程序启动之初进行一些数据初始化的工作. 接下来我们

  • Springboot项目启动时如何用命令动态指定环境

    Springboot 启动用命令指定环境 我们都知道springboot的yml文件可以配置多个环境,可以直接在application.yml中指定使用哪个环境. 例如:指定dev环境 这是在配置文件中写死的. 那么,如何在启动项目的时候动态指定呢? 其实,只需要在启动时多加一个命令就行: java -jar xxx.jar --spring.profiles.active=dev Springboot 启动命令介绍 SpringBoot 启动项目指定命令的三种方式 1.配置文件中添加命令 在

  • SpringBoot项目启动时如何读取配置以及初始化资源

    介绍   在开发过程中,我们有时候会遇到非接口调用而出发程序执行任务的一些场景,比如我们使用quartz定时框架通过配置文件来启动定时任务时,或者一些初始化资源场景等触发的任务执行场景. 方法一:注解 方案   通过使用注解@Configuration和@Bean来初始化资源,配置文件当然还是通过@Value进行注入. @Configuration:用于定义配置类,可替换xml配置文件,被注解的类内部一般是包含了一个或者多个@Bean注解的方法. @Bean:产生一个Bean对象,然后将Bean

  • SpringBoot项目启动时增加自定义Banner的简单方法

    目录 前言 制作Banner 总结 前言 最近有小伙伴推荐给博客启动的时候加上自定义Banner,开始我还不太明白他说的是那部分,后面给我发了这样一个文件,陌溪瞬间就懂了 ////////////////////////////////////////////////////////////////////   //                          _ooOoo_                               //   //                    

  • 记一次springboot配置redis项目启动时的一个奇怪的错误

    目录 springboot配置redis项目启动时的错误 总是爆出下面的错误 解决springboot项目启动时redis报错 出现ERRClientsentAUTH,butnopasswordisset的问题 springboot配置redis项目启动时的错误 在刚开始学redis时,我照着网上的教程,把redis和jedis整合到spring boot,整合完毕后,启动项目总是失败 总是爆出下面的错误 Correct the classpath of your application so

  • springboot使用CommandLineRunner解决项目启动时初始化资源的操作

    前言: 在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等. 今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作. 这个神器就是 CommandLineRunner,CommandLineRunner 接口的 Component 会在所有 Spring Beans 都初始化之后,SpringApplication.run() 之前执行,非常适合在应用程序启动之初进行一些数据初始化的工作. 正文

  • springboot中项目启动时实现初始化方法加载参数

    目录 springboot项目启动,初始化方法加载参数 1.@PostConstruct说明 2.@PreDestroy说明 第一种:注解@PostConstruct 第二种:实现CommandLineRunner接口 第三种:springboot的启动类 springboot初始化参数顺序 spring初始化参数顺序为 springboot项目启动,初始化方法加载参数 今天我看到项目中用到了 @PostConstruct 这个注解,之前没看到过,特地查了一下, 1.@PostConstruct

  • SpringBoot打印启动时异常堆栈信息详解

    SpringBoot在项目启动时如果遇到异常并不能友好的打印出具体的堆栈错误信息,我们只能查看到简单的错误消息,以致于并不能及时解决发生的问题,针对这个问题SpringBoot提供了故障分析仪的概念(failure-analyzer),内部根据不同类型的异常提供了一些实现,我们如果想自定义该怎么去做? FailureAnalyzer SpringBoot提供了启动异常分析接口FailureAnalyzer,该接口位于org.springframework.boot.diagnosticspack

  • 解决Springboot项目启动后自动创建多表关联的数据库与表的方案

    熬夜写完,尚有不足,但仍在努力学习与总结中,而您的点赞与关注,是对我最大的鼓励! 在一些本地化项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需要的数据库及其对应的数据库表. 若要解决这类需求,其实现在已有不少开源框架都能实现自动生成数据库表,如mybatis plus.spring JPA等,但您是否有想过,若要自行构建一套更为复杂的表结构时,这种开源框架是否也能满足呢,若满足不了话,又该如何才能实现呢? 我在前面写过一篇 Activiti工作流学习笔记(

  • springboot项目启动指定对应环境的方法

    目录 springboot项目启动指定对应环境 要求: 默认启动指定的是默认配置文件 1.命令行的方式 第一种 第二种 2.idea方式 设置启动配置 第一种方式 第二种方式 总结 springboot项目启动指定对应环境 要求: 已dev环境启动demo-0.0.1-SNAPSHOT.jar 默认启动指定的是默认配置文件 指定的是application.properties或者application.yml配置文件(默认环境) java -jar demo-0.0.1-SNAPSHOT.jar

随机推荐