https://juejin.cn/post/7238420276228341815
 

Spring Boot 学习笔记

我们要想了解这两者之间的差异,首先来看一个案例:

 
bash

复制代码
# 以应用参数的方式
java -jar my.jar --server.port=7788 # 或以 JDK 参数的方式
java -Dserver.port=7788 -jar my.jar

这两个命令都可以用来设置Spring Boot应用程序的端口号为7788,其中:

  • 第一个命令使用 --server.port 选项来设置应用程序的端口号
  • 第二个命令使用 -Dserver.port 选项来设置系统属性

这两种方式都可以实现相同的目标,但差别如下:

  1. 使用 --server.port 选项可以直接将端口号作为应用程序的选项传递,而使用 -Dserver.port 需要将端口号作为系统属性传递。
  2. -server.port 选项仅适用于 Spring Boot 应用程序,而 -Dserver.port 选项适用于任何Java应用程序。
  3. –server.port 选项应该在 java -jar 命令之后使用,而 -Dserver.port 选项应该在 -jar 命令前使用。

在实践中,-D 用于设置系统属性,而 – 用于设置应用程序选项或参数。大多数情况下建议使用 --server.port 选项来设置 Spring Boot 应用程序的端口号,因为它更方便和直观,而且只适用于应用程序本身,避免了可能会影响其他 Java 应用程序的系统属性冲突。

[转帖]命令行参数--与-D的区别的更多相关文章

  1. python处理命令行参数

    直接从命令行执行py文件的时候如果带有参数,如何获取这些参数,如何解析? http://blog.chinaunix.net/uid-20786165-id-3182268.html sys.argv ...

  2. .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

    较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参 ...

  3. Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

    特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传 ...

  4. powershell脚本,命令行参数传值,并绑定变量的例子

    这是小技巧文章,所以文章不长.但原创唯一,非常重要.我搜了下,还真没有人发 powershell怎样 [命令行 参数 绑定],所以我决定写成博客. 搜索关键字如下: powershell 命令行 参数 ...

  5. VS2013 带命令行参数的调试问题 解决方案

    int main(int argc,char* argv[]) argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数 比如:  ...

  6. 使用getopt()处理命令行参数

    假设有一程序 testopt,其命令行选项参数有: -i            选项 -l            选项 -r           选项 -n <值> 带关联值的选项 则处理 ...

  7. 7z命令行参数中的路径

    最近在自动化的过程中用到了7z命令行工具,发现其参数中的路径挺有意思的,在此总结一下.本文中所有demo使用的7z版本为:15.14 x64. 压缩某个文件夹 下面的命令会把g:\temp\目录和目录 ...

  8. [转]Python 命令行参数和getopt模块详解

    FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...

  9. 你可能不知道的Google Chrome命令行参数

    概述:              关于Google Chrome命令行参数(英文叫Google Chrome Command line switches),是Chrome为了实现实验性功能.方便调试. ...

  10. getopt函数的使用——分析命令行参数

    getopt(分析命令行参数) getopt(分析命令行参数) 短参数的定义 返回值 范例 getopt_long 相关函数表头文件#include<unistd.h> 函数声明int g ...

随机推荐

  1. 【fmjava】 面试题突击训练-Java基础语法篇01

    JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称, Java 开发工具包, 提供了 Java 的开发环境和运行环境. JRE:Java Runtime Env ...

  2. Navicat Premium多用户破解方法 12以上版本

    https://www.cnblogs.com/cgqplus/p/15267306.html 本文不提供注册机或者破解工具,本论坛多的是,搜索一下就好了. 本方法适用于多用户环境下使用,比如在服务器 ...

  3. 如何从零开始实现TDOA技术的 UWB 精确定位系统(3)

    ​ 这是一个系列文章<如何从零开始实现TDOA技术的 UWB 精确定位系统>第3部分. 重要提示(劝退说明): Q:做这个定位系统需要基础么?A:文章不是写给小白看的,需要有电子技术和软件 ...

  4. H3C 存储换盘操作

    实际存储型号H3C CF8844 环境说明:H3C存储设备存在一个坏盘需要更换. 更换准备 1. 取出备件检查完毕后放置到安全场所(请严格按照<IT产品现场工程师通用服务规(维修篇)>操作 ...

  5. 文心一言 VS 讯飞星火 VS chatgpt (19)-- go语言的slice和rust语言的Vec的扩容流程是什么?

    go语言的slice和rust语言的Vec的扩容流程是什么? 文心一言: 在Go语言中,slice(切片)和Rust语言中的Vec都是用于存储一组固定长度的元素的数据结构.它们的扩容流程略有不同,下面 ...

  6. 记一次kubernetes获取internal Ip错误流程

    本文分享自华为云社区<记一次kubernetes获取internal Ip错误流程>,作者:张俭. 偶尔也回首一下处理的棘手问题吧.问题的现象是,通过kubernetes get node ...

  7. Ascend CL两种数据预处理的方式:AIPP和DVPP

    摘要:本文介绍了昇腾CANN提供的两种数据预处理的方式:DVPP和AIPP,介绍了两者的功能.差别及联系,并以具体代码示例介绍了如何使用DVPP和AIPP的功能. 本文分享自华为云社区<了解As ...

  8. CWE4.8:2022年危害最大的25种软件安全问题

    摘要:我们来看下新版的<2022年危害最大的25种安全问题>在安全预防上会给了我们哪些安全提示. 本文分享自华为云社区<CWE4.8 -- 2022年危害最大的25种软件安全问题&g ...

  9. 移动应用中的第三方SDK隐私合规检测,早知道

    摘要: 在移动应用隐私合规检测中,第三方SDK隐私声明由于其展现位置展现形式的多样性,自动化提取与解析是比较困难的任务. 本文分享自华为云社区<移动应用中的第三方SDK隐私合规检测>,作者 ...

  10. Scala学习系列(二)——环境安装配置

    Scala下载地址:https://www.scala-lang.org/download/ 一.安装JDK 首先,因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK 二.二进制 ...