目录

启动jar包时参数配置

【SpringBoot】java -jar xxx.jar 指定配置

springboot会按照下列优先级来

springboot会按照下列优先级来加载application.property配置文件:优先级由高到低

1、jar包同级目录的config目录下

2、jar包同级目录的application.property

3、classpath下的/config目录

4、classpath下根目录的配置文件

如果不想要这些目录下的配置文件为最高级,我们也可以自己使用如下命令指定配置文件:

1
java -jar -Dspring.config.location=D:\config\config.properties demo-0.0.1-SNAPSHOT.jar

Windows

指定端口

1
java -jar springboot.jar --server.port=8181

指定配置文件

1
java -jar springboot.jar --spring.profiles.active=dev

同时指定端口与配置文件

1
java -jar springboot.jar --server.port=8181 --spring.profiles.active=dev

Linux

后台服务方式启动

1
nohup java -jar springboot.jar --server.port=8181 >outlog.log 2>&1 &

加载服务器配置文件application-dev.yml

1
nohup java -Dserver.port=8086  -Dspring.config.additional-location=./application-dev.yml -jar ./springboot.jar> nohup.out 2>&1 &

SpringBoot修改启动端口server.port的四种方式

  • 方式一:代码内修改application.properties 配置文件

    1
    
    server.port = 8080
    
  • 方式二:在jar包同层目录下有个单独的application.properties 配置文件,进行修改

    1
    
    server.port = 8081
    
  • 方式三:以 jdk 参数方式启动

    1
    
    java -Dserver.port = 8082 -jar aaa.jar
    
  • 方式四:以应用参数方式启动

    1
    
    java -jar aaa.jar --server.port = 8083
    

总结:四种方式都可以修改服务启动的端口,但有着不同的优先级

优先级如下:方式四 > 方式三 > 方式二 > 方式一

如果代码里配置了8080,jar包外层配置了8081,启动命令是:

1
java -Dserver.port=8082 -jar aaa.jar --server.port=8083

那么最后程序将会以8083端口运行

最后使用时,可在jar包同级目录下放置一个application.yml文件或者在统计config文件夹下放置一个application.yml文件即可,或者application-prod.yml,启动时加入–spring.profiles.active=prod参数(ps:两个横线)