基于spring boot 命令行启动的一些坑

spring boot 命令行启动的一些坑

1.spring boot项目启动时可以指定启动的参数

例如:

java -jar Project.jar --spring.profiles.active=test

坑:

我们的配置文件中配置了多个环境,这时我们想启动测试环境,加载测试环境的相关配置文件,这样写没毛病吧!配置文件用的yml文件,这样启动项目无法加载指定的配置文件,原因未知,我们可以使用下面的这句命令,指定该环境就ok了

java -jar -Dspring.profiles.active=test Project.jar

这样就需要把你需要加载的配置文件统统的写进来

java -jar -Dspring.profiles.active=test,..,.., Project.jar

今天发现一个更好的解决方法,可以使用

spring.profiles.include # 后边跟上你要加载的配置文件的后缀
# 例如你需要加bootstrap-hystrix.yml文件,你可以这样写了
spring.profiles.include=hystrix
# 如果有多个,可以用','隔开

2.使用–spring.profiles.active=test,无论如何都没办法修改环境

今天我发现这个问题所在,这个其实是一个大乌龙。同时也是1问题中原因未知的问题所在,在springboot项目启动的主函数中,代码如下

SpringApplication.run(Application.class);

我原本是这样写的,没有传递参数args,所以无论如何也没办法修改环境,下面的这个是正确的

SpringApplication.run(Application.class, args);

spring-boot命令行启动(指定端口启动)

springboot指定端口的三种方式

  • 第一配置文件中添加server.port=9090
  • 第二在命令行中指定启动端口,比如传入参数一server. port=9000 java -jar bootsample. jar -- server.port=9000
  • 第三传入虚拟机系统属性java - Dserver.port=9000 -jar bootsample.jar

方法一

基于spring boot 命令行启动的一些坑_第1张图片

方法二

指定端口启动

java -jar *.jar --server.port=9090

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

你可能感兴趣的:(基于spring boot 命令行启动的一些坑)