怎么使用java -jar修改SpringBoot中application.properties的配置项

蜗牛 互联网技术资讯 2023-02-14 59 0

这篇文章主要介绍“怎么使用java -jar修改SpringBoot中application.properties的配置项”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用java -jar修改SpringBoot中application.properties的配置项”文章能帮助大家解决问题。

    java -jar修改SpringBoot中application.properties配置项

    如果Spring Boot整合了Maven来管理项目依赖的话,常见的打包方式有jar和war。如果使用war包,若要运行项目,需要把war丢到Tomcat、JBoss之类的容器中。

    此时修改配置文件,可以直接在解压后的classes/application.properties文件中修改配置项。

    而倘若制作成jar包,如何修改application.properties中的配置项呢?

    问题描述

    application.properties

    application.properties配置文件如下

    # config for picket dynamicPool用于上传图片,static用于人脸库以图搜图
    picket.dynamicFaceLib=1
    picket.staticFaceLib=2
    picket.similarity=0.7
    picket.pushUrl=http://localhost:8080/api/event

    比如说Spring Boot项目最后达成了jar包platform。则可以如下方式运行

    前提

    在Windows环境下配置了JDK环境变量。

    C:\Users\lenovo\Desktop>echo %JAVA_HOME%
    C:\Program Files\Java\jdk1.8.0_131
    
    C:\Users\lenovo\Desktop>java -version
    java version "1.8.0_201"
    Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
    Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

    运行

    使用如下方式运行。

    java -jar platform.jar

    由于制作的jar包不再存在application.properties文件,那么如何灵活的在命令行运行时指定picket.pushUrl,来修改事件的推送url呢?

    解决方式

    可以使用如下的方式来修改application.properties配置项的默认值

    java -jar platform.jar --picket.pushUrl="http://192.168.1.110:8080/api/eventHappen"

    此时便使用了修改后的值,而不再是application.properties文件中配置的值。

    外部配置

    Spring Boot允许使用properties文件、yaml文件或者命令行参数作为外部配置。

    Spring Boot是可以基于jar包运行的,打成jar包的程序可以直接通过下面的命令行运(参见Spring Boot实战p143)

    java -jar xx.jar

    可以通过如下命令行修改Tomcat端口`

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

    Java:java -jar命令讲解

    1. 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

    #正常启动jar包
    java -jar XXX.jar
    
    #当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出。

    2. 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行

    #当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行
    java -jar XXX.jar &

    3. 当窗口关闭时,程序也不会中止运行

    #当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件
    nohup java -jar XXX.jar &

    4. 输出重定向到temp.file文件

    #输出重定向到temp.file文件
    nohup java -jar XXX.jar >temp.txt &
    
    #即输出内容不打印到屏幕上,而是输出到temp.file文件中

    5. 启动jar包或war包时,配置静态变量

    #配置静态变量并不输出日志到控制台或者日志文件中
    nohup java -jar  /data/server/ifsmp/ifsmp.war --spring.profiles.active=test --server.port=8080 >/dev/null 2>&1 &
    
    # >/dev/null 2>&1 含义:
    # 该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中
    
    # -–spring.profiles.active=test 含义:
    #连续的两个减号–就是对application.properties中的属性值进行赋值的标识,等价于我们在application.properties中添加属性spring.profiles.active=test

    关于“怎么使用java -jar修改SpringBoot中application.properties的配置项”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注蜗牛博客行业资讯频道,小编每天都会为大家更新不同的知识点。

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    评论

    有免费节点资源,我们会通知你!加入纸飞机订阅群

    ×
    天气预报查看日历分享网页手机扫码留言评论Telegram