【java】-D参数使用

在开发过程中我们使用开源工具经常会用到在启动命令时候加入一个 -Dxxx 类型的参数。到底-Dxxx是干什么用的了。

官方文档

地址:文档地址

java命令使用

下面是来源于官方文档:

java [options] classname [args]
java [options] -jar filename [args]optionsCommand-line options separated by spaces. See Options.
classnameThe name of the class to be launched.filenameThe name of the Java Archive (JAR) file to be called. Used only with the -jar option.argsThe arguments passed to the main() method separated by spaces.

java [选项]类名[参数]
java [选项] -jar 文件名[参数]

选项

        命令行选项以空格分隔。请参阅选项。


classname

        要启动的类的名称。

文件名


         要调用的 Java Archive (JAR) 文件的名称。仅与选项一起使用-jar。

参数


 传递给方法的参数main()以空格分隔。

描述


该java命令启动 Java 应用程序。它通过启动 Java 运行时环境 (JRE)、加载指定的类并调用该类的main()方法来实现此目的。该方法必须声明为public和static,它不能返回任何值,并且必须接受String数组作为参数。方法声明具有以下形式:

公共静态无效主(字符串[]参数)
该命令可用于通过加载具有方法或扩展的java类来启动 JavaFX 应用程序。在后一种情况下,启动器构造该类的实例,调用其方法,然后调用该方法。main()javafx.application.ApplicationApplicationinit()start(javafx.stage.Stage)

默认情况下,不是java命令选项的第一个参数是要调用的类的完全限定名称。如果-jar指定了该选项,则其参数是包含应用程序的类和资源文件的 JAR 文件的名称。启动类必须由其源代码中的清单标头指示Main-Class。

JRE 在三组位置中搜索启动类(以及应用程序使用的其他类):引导类路径、已安装的扩展以及用户的类路径。

类文件名或 JAR 文件名后面的参数将传递给该main()方法。

options分类

该java命令支持多种选项,可分为以下几类:

  • Standard Options                  标准选项
  • Non-Standard Options          非标准选项
  • Advanced Runtime Options   高级运行时选项
  • Advanced JIT Compiler Options  高级 JIT 编译器选项
  • Advanced Serviceability Options   高级适用性选项
  • Advanced Garbage Collection Options  高级垃圾收集选项

-D 选项

-D 就属于Standard Options( 标准选项)中的一个

官网解释

-Dproperty=value

Sets a system property value. The property variable is a string with no spaces that represents the name of the property. The value variable is a string that represents the value of the property. If value is a string with spaces, then enclose it in quotation marks (for example -Dfoo="foo bar").

-D属性=

设置系统属性值。属性变量是一个不带空格的字符串表示属性的名称。value变量表示属性值的字符串。如果value是带有空格的字符串,则将其括在引号中(例如-Dfoo="foo bar")。

执行Java命令 也能看到如下图:

测试-D参数

@Slf4j
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);log.info("======== -D 参数 : {} ",System.getProperty("testDParam"));}}

在开发工具中配置-D参数

启动

命令启动
java -DtestDParam="chengxuyuanshitang"   -jar app.jar




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/217446.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人力资源管理后台 === 基础环境+登陆

目录 1.人力资源项目介绍 1.1 项目架构和解决方案 1.2 课程安排 1.3 课程具备能力 1.4 课程地址 2. 拉取项目基础代码 3.项目目录和入口文件介绍 4.App.vue根组件解析 5.基础设置settings.js和导航守卫permission.js 6.Vuex的结构 7.使用模板中的Icon图标 8.扩展…

node fs模板及蓝桥案例实战

文章目录 介绍文件写入writeFile 异步写入writeFileSync 同步写入appendFile / appendFileSync 追加写入createWriteStream 流式写入 文件读取readFile 异步读取readFileSync 同步读取createReadStream 流式读取 文件移动与重命名文件删除文件夹操作mkdir / mkdirSync 创建文件…

Python基础:JSON保存结构化数据(详解)

1. JSON概念 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生产。   虽然JSON使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台,JSON解…

三菱PLC编码器转速测量功能块(梯形图和ST代码)

编码器转速测量功能块算法公式详细讲解请参考下面文章链接: SMART PLC编码器转速测量功能块(高速计数器配置+梯形图)-CSDN博客文章浏览阅读427次。里工业控制张力控制无处不在,也衍生出很多张力控制专用控制器,磁粉制动器等,本篇博客主要讨论PLC的张力控制相关应用和算法,…

Springboot实现增删改差

一、包结构 二、各层代码 (1)数据User public class User {private Integer id;private String userName;private String note;public User() {super();}public User(Integer i, String userName, String note) {super();this.id i;this.userName userName;this.note note;…

抖音生态融合:开发与抖音平台对接的票务小程序

为了更好地服务用户需求,将票务服务与抖音平台结合,成为了一个创新的方向。通过开发票务小程序,用户可以在抖音平台上直接获取相关活动的票务信息,完成购票、预订等操作,实现了线上线下的有机连接。 一、开发过程 1…

线程池(用于处理Runnable任务或Callable任务)

一&#xff0c;线程池 二&#xff0c; 如何创建线程池 案例&#xff1a; //1,通过ThreadPoolExecuter创建一个线程池对象ExecutorService pool new ThreadPoolExecutor(3,5,8,TimeUnit.SECONDS,new LinkedBlockingQueue<>(4),Executors.defaultThreadFactory(),new Thr…

关于pytorch以及相关包的安装教程

一.查看自己电脑的配置 首先查看自己电脑的cuda的版本&#xff0c;WinR,敲入cmd打开终端 输入nvidia-smi&#xff0c;查看自己电脑的显卡等配置 这里要说明一下关于这个CUDA,它具有向后兼容性&#xff0c;这意味着支持较低版本的 CUDA 的应用程序通常也可以在较高版本的 CUD…

E5052A/安捷伦Agilent E5052A信号源分析仪

181/2461/8938产品概述 是德科技E5052A(安捷伦)信号源分析仪&#xff0c;10 MHz至7 GHz&#xff0c;具有许多增强的性能特征。在表征VCO或其它类型的高频信号源、aw以及高速数据通信系统中的时钟抖动评估方面&#xff0c;它提供了世界上最高的测量吞吐量和最佳可用性。 是德科…

Python武器库开发-前端篇之CSS盒模型(三十一)

前端篇之CSS盒模型(三十一) CSS盒模型是指网页中的每个元素可以看做是一个矩形盒子&#xff0c;该盒子有四个主要部分组成&#xff1a;content、padding、border和margin。其中&#xff1a; content&#xff1a;指盒子中的内容区域&#xff0c;可以包含文本、图像、视频、其他…

【C++】构造函数和析构函数第四部分(深拷贝和浅拷贝)--- 2023.11.25

目录 什么是浅拷贝&#xff1f;浅拷贝的问题使用深拷贝解决浅拷贝问题结束语 什么是浅拷贝&#xff1f; 如果在一个类中没有人为定义拷贝函数&#xff0c;则系统会提供默认拷贝函数。那么在此默认拷贝函数中主要进行了简单的赋值操作&#xff0c;那这个简单的赋值操作我们一般…

RK3568驱动指南|第八篇 设备树插件-第72章 设备树插件语法和编译实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…