springboot启动jar包时设置临时属性(代码片段)

author author     2023-03-20     509

关键词:

什么是临时属性

临时属性是指在运行Spring Boot应用程序时,临时指定的一些属性值。临时属性值只对该次运行有效,在下次启动应用程序时将被重置。这种方式可以极大地方便我们测试不同的应用场景和配置,而不需要修改配置文件。

如何使用临时属性

Spring Boot提供了一种在启动时指定临时属性的方式,即使用命令行参数的方式。我们可以在使用java命令启动Jar包时添加--符号和属性名称来设置临时属性。例如,我们可以通过以下命令设置服务器端口号:

java -jar myapp.jar --server.port=8080

如果需要覆盖多个参数,可以使空格,它们分开,如下所示:

java -jar your-application.jar --server.port=8080 --spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase --spring.datasource.username=admin --spring.datasource.password=passw0rd

临属性的优先级

Spring Boot支持多种属性配置的方式,在指定属性时,需要注意它们的优先级。以下是各种属性配置的优先级顺序

  1. 命令行参数(Command Line Arguments):命令行参数具有最高优先级,可以用于覆盖任何其他属性的值。例如:--server.port=8000
  2. JNDI属性(JNDI properties):以在JNDI(Java Naming and Directory Interface)环境中单独配置的属性用于覆盖其他一些属性。
  3. Java系统属性(System properties):可以在JVM启动过程中通过-D选项单独指定的Java系统属性,例如: -Dspring.profiles.active=prod。由于其在应用程序启动之前就已加载,因此这些属性可以用于配置Spring的配置体系结构和其他一些早期初始化。
  4. 操作系统环境变量(OS environment variables):可以在操作系统级别配置的环境变量,例如: export spring_datasource_url=jdbc:mysql://localhost/mydatabase。
  5. application-profile.yml(application-profile.properties):Spring Boot会在classspath下搜索任何profile相关的配置文件,文件格式支持.properties和.yml两种,且不管使用哪种格式,都可以通过spring.profiles.active=xxx来指定当前应用程序的profile。例如: application-dev.yml。
  6. application.yml(application.properties):该文件是对所有profile的应用。粒度更大的属性配置, 例如:spring.application.name=boot-demo。

总结

Spring Boot的临时属性提供了一种方便快捷的方式,在运行时修改应用程序的运行配置。在实际使用中,我们可以灵活地根据不同场景使用临时属性来测试和验证应用程序。需要注意的是,属性配置的优先级是非常重要的,使用时需要认真考虑它们的覆盖关系。

启动jar包时指定yml文件

参考技术A把application.yml文件放在执行java-jar命令所在的目录中;执行java-jarxxx.jar命令,此时application.yml应放在xxx.jar同级目录;执行java-jar/abc/xxx.jar命令,此时application.yml应放在/目录;需要注意的是,自动加载application.yml的位置... 查看详情

将springboot项目打成的jar包设置开机自动启动

1、首先将jar包放到指定目录。2、右击目录空白处,新建文本文档,在文本里写入"java-jar+jar包路径",如图,保存。3、将.txt格式的文本文档修改后缀名,改成.bat格式,如图。 4、此时双击这个文件,生成的jar包就会自动运行... 查看详情

cmd运行jar包时抓包方法

参考技术Acmd运行jar包时设置代理的方法,fiddler抓包cmd设置方法,fiddle抓取cmd命令行下jar包提交的的数据代理设置java-DproxySet=true-DproxyHost=127.0.0.1-DproxyPort=8888-jar你的jar包这句命令适用于fiddler默认设置主机127.0.0.1端口8888根据情况... 查看详情

java-jar命令引导启动springboot项目的那点事(代码片段)

前言:Java官方规定java-jar命令引导的具体启动类必须配置在MANIFEST.MF资源的Main-Class属性中。比如通过java-jarXXX.jar来运行应用时,如不做特殊设置就要求在jar文件中必须包含META-INF/MANIFEST.MF文件,且通过类似Main-Class:org.s... 查看详情

springboot的jar包引用外部properties文件

场景是这样的:使用SpringBoot打包时,配置文件application.properties默认会打包在jar里面,这样如果需要修改的话必须修改了文件并重新压包,比较麻烦在网上查看有几种引用外部配置文件的方法,有的放到class目录,有的说是在META... 查看详情

Springboot应用程序打包为jar时未检测到应用程序属性文件

】Springboot应用程序打包为jar时未检测到应用程序属性文件【英文标题】:Springbootappnotdetectingtheapplicationpropertiesfilewhentheapplicationispackagedasjar【发布时间】:2021-08-0911:15:32【问题描述】:我有一个SpringbootGradle项目。该应用程序已... 查看详情

问题解决:信息提示springboot启动时提示theaprbasedapachetomcatnativelibrarywhichallowsoptimalperformanc(代

问题描述springboot程序在启动时提示信息[2018-10-2421:59:05.214]-440信息[restartedMain]---org.apache.catalina.core.StandardService:Startingservice[Tomcat][2018-10-2421:59:05.220]-440信息[restartedMain]---org.apache.catal 查看详情

java-jar命令设置启动参数

参考技术Ajava-jar命令设置启动参数三种方法。1、DpropName等于propValue的形式携带,要放在jar参数前面。2、参数直接跟在命令后面。3、springboot的方式,key等于value方式。 查看详情

springboot项目替换lib下的依赖jar包unabletoopennestedentry'bo

参考技术A问题:springboot项目在使用压缩软件替换lib下的依赖包后,启动报错,报错内容如下:原因:替换或者导入jar包时,jar包被自动压缩,springboot规定嵌套的jar包不能在被压缩的情况下存储。解决(本文以升级ojdbc包为例)... 查看详情

获取 Spark 包时如何禁用 SSL 身份验证?

...:2021-08-2414:58:51【问题描述】:我正在使用pyspark,当我启动我的Spark会话时,我使用spark.jars.package从Nexus内部存储库中获取一些包。获取我设置的包:spark.jars.ivySettings指向一个XML 查看详情

springboot启动接收参数

springboot启动可以通过java-jarxxx.jar参数来传递启动参数到程序中。通过args[]来传递参数非常不优雅,不同系统会有奇异,windows系统会在参数里面自己写入一行标识,Linux系统就不会,传几个参数就会按照数组位数排列。下面介绍... 查看详情

springboot项目打包成war用tomcat运行好还是打包成jar直接启动好?为何?

...江山,Java的生态圈环境很好,有着很多优秀的框架,而SpringBoot作为Spring框架中的代表,这几年也越来越火。SpringBoot是用来简化Spring应用的配置和开发过程的,此框架采用了“约定优于配置”的理念,免去了繁琐的XML配置,使我... 查看详情

springboot打包发布原理

参考技术ASpringBoot提供了Maven插件spring-boot-maven-plugin,将SpringBoot项目打成jar包或者war包。只需要在pom.xml文件中加入下面这个插件配置,再通过mvncleanpackage获取jar包即可。打包后通过下面的命令即可启动一个服务。可以看到,主要... 查看详情

springboot启动方式

1.把项目生成jar包,make jar,java  -jar 项目jar包  查看详情

jar启动springboot怎样输入网址

参考技术Ajar启动springboot输入网址如下:1.SpringBoot项目打包后,在target下生成的jar文件可以使用Java-jar直接启动,指定端口号配置java-jareureka-server-1.0.0.jar--server.port=8080。2.在cmd命令窗口下执行运行jar包的命令:java-jarE:/user-0.0.1.jar... 查看详情

springboot启动异常,我是用jar方式启动,idea没毛病,测试环境出问题

...text.embedded.EmbeddedServletContainerException:UnabletostartembeddedTomcatspringboot怎么停止掉服务器我启动了springboot,但是我修改了程序,我怎么重启啊,解答如下SpringBoot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"justrun"... 查看详情

springboot项目启动无任何反应

遇到的问题springboot项目启动后无任何报错,ps有进程,nohub无日志定位更换jar包,问题依然存在,将jar包放到其他服务器,运行正常,排除打包问题同服务器其他系统运行正常,但停止后不能再次启动,出现相同问题怀疑日志级... 查看详情

springboot在启动时的多环境配置以及加载顺序

  通常我们在开发完成一个SpringBoot项目时,总是要打包部署的。  在启动SpringBoot应用时,我们常常会使用命令java-jarxxx.jar来启动这个服务。  命令java-jar除了启动应用之外,还可以在命令中指定应用的参数,比如一下带... 查看详情