java jar 设置端口_Java命令行启动jar包更改默认端口以及配置文件的几种方式

Java命令行启动jar包更改默认端口以及配置文件的几种方式

java -jar xxx.jar --server.port=8081

默认如果jar包没有启动文件,可以采用这种方式进行启动

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

这种方式,你打的jar包里得有application-dev.properties或application-dev.yml这类资源文件

使用 "--spring.profiles.active" 参数,搭配@Profile注解,可以实现不同环境下(开发、测试、生产)配置参数的切换

d12a107d1ca97810c908202081a6beb3.png

根据文档描述,我们除application.properties外,还可以根据命名约定(命名格式:application-{profile}.properties)来配置,如果active赋予的参数没有与使用该命名约定格式文件相匹配的话,app则会默认从名为application-default.properties 的配置文件加载配置。

如:`spring.profiles.active=hello-world,sender,dev` 有三个参数,其中 dev 正好匹配下面配置中的application-dev.properties 配置文件,所以app启动时,项目会先从application-dev.properties加载配置,再从application.properties配置文件加载配置,如果有重复的配置,则会以application.properties的配置为准。

(配置文件加载顺序详见官方文档:24. Externalized Configuration)

fb2b452a16ebf04a3eccfbe393fddd84.png

如此,我们就不用为了不同的运行环境而去更改大量的环境配置了(此处,dev、pro、test分别为:开发、生产、测试环境配置)

java -jar xxx.jar --spring.config.location=/data/java/application.properties 或 java -jar xxx.jar --spring.config.location=/data/java/application.yml

指定加载某个资源文件,也可以使用相对路径

java -jar xxx.jar --spring.config.location=/data/java/application.properties -Dserver.port=8081 -Dserver.address=127.0.0.1

扩展,你加载的指定配置文件里的有server.port和server.address配置项

例如:

我工程里有mapper/xxx.xml数据库CRUD接口映射文件,我编译后的目录文件其实是在target/classes/mapper/xxx.xml

当我使用指定资源配置文件启动的时候,由于我指定的配置文件里配置的 mapper-locations: classpath:mapper/*. xml是这样的加载路径,调试运行时没问题,但是在编译后的目标目录里启动时,就会因为路径不对而导致启动失败。

如果我这样启

java -jar xxx.jar --spring.config.location=./classes/application.yml

下面一定会报mybatis-plus相关的一些错误,例如找不到映射文件之类的

那,如果我这样启

java -jar xxx.jar --spring.config.location=./classes/application.yml -Dmybatis-plus mapper-locations=./classes/mapper

就能正常加载资源配置文件并启动成功,其他配置项的加载道理也一样。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值