基于spring boot 命令行启动的一些坑
作者:菜鸟阿达
这篇文章主要介绍了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
方法一
方法二
指定端口启动
java -jar *.jar --server.port=9090
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。